Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub


NPM version Downloads Dependency status Dev Dependency status Greenkeeper badge

Adds support for deploying Gatsby websites to IPFS by ensuring that assets are relative.


$ npm install --save gatsby-plugin-ipfs


Set prefixPath to __GATSBY_IPFS_PATH_PREFIX__ and include the plugin in your gatsby-config.js file:

module.exports = {
    pathPrefix: '__GATSBY_IPFS_PATH_PREFIX__',
    plugins: [

And now, simply build the project with npm run build -- --prefix-paths. Better yet, set it by default in your package.json:

"scripts": {
  "build": "gatsby build --prefix-paths"

But how?

It turns out the Gatsby doesn’t support relative paths. But I didn’t gave up and came up with smart and ugly hacks to do so:

  • Adds a post-build step that iterates over files and transforms every __GATSBY_IPFS_PATH_PREFIX__ occurrence
  • Adds a very small code snippet to every HTML page that defines the __GATSBY_IPFS_PATH_PREFIX__ global based on the browser location


MIT License

© 2023 Gatsby, Inc.