Communication & Background

Background Fetch

Probing…

Background Fetch is a web platform capability in the Communication & Background category. Large downloads/uploads that outlive the page. Supported in Chromium 74+; not available in Firefox and Safari. Requires a secure context (HTTPS or localhost).

Secure context

Try it

Loading demo…

Code

const reg = await navigator.serviceWorker.ready
const bgFetch = await reg.backgroundFetch.fetch(
  'demo-download',
  ['/pwa-192x192.png'],
  { title: 'Demo download' },
)
bgFetch.addEventListener('progress', () => {
  console.log(bgFetch.downloaded, '/', bgFetch.downloadTotal)
})

Browser support

Chromium
74
Firefox
No
Safari
No

Frequently asked questions

Which browsers support Background Fetch?

Supported in Chromium 74+; not available in Firefox and Safari.

Does Background Fetch require HTTPS?

Yes. Background Fetch needs a secure context, so it only works over HTTPS (or on localhost during development).

What is Background Fetch used for?

Large downloads/uploads that outlive the page.

Can I try Background Fetch in my browser?

Yes. shwcs.net runs a live Background Fetch demo that probes your current browser and lets you try the API. Everything runs locally — nothing is sent anywhere.

MDN reference ↗ Specification ↗