Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub


Tested only on linux with gatsby v2

Add support for making a Gatsby site work offline and more resistant to bad network connections. It creates a service worker using workboxBuild.injectManifest.

If you’re using this plugin with gatsby-plugin-manifest (recommended) this plugin should be listed after that plugin so the manifest file can be included in the service worker.


npm install --save gatsby-plugin-sw

How to use

// In your gatsby-config.js
plugins: [
    resolve: 'gatsby-plugin-sw',
    options: {
      swPath: 'src/utils/my-service-worker.js', // Default to 'src/sw.js'
// In your service worker e.g. src/sw.js

// Required stuff

// The plugin will pass the files to cache here

// Another things
self.addEventListener('push', () => {
  // ...


For now the only option avaible is swPath and it’s the location of your service worker file.

© 2023 Gatsby, Inc.