whatisgithub

What is serviceworker?

w3c/serviceworker — explained in plain English

Analysis updated 2026-05-18

3,630BikeshedAudience · developerComplexity · 3/5Setup · moderate

In one sentence

The official W3C specification document for service workers, the browser technology behind offline web apps, written for browser makers and standards contributors rather than end users.

Mindmap

mindmap
  root((Service Worker spec))
    What it does
      Defines service worker standard
      Not a downloadable library
    Format
      Bikeshed markup
      Nightly and v1 versions
    Concepts
      Background scripts
      Network interception
      Offline caching
    Use cases
      Standards contribution
      Browser implementation reference
    Audience
      Browser engineers
      Web standards contributors

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Read the authoritative definition of how service workers should behave in a browser.

USE CASE 2

Propose a change to the service worker standard through a GitHub issue or pull request.

USE CASE 3

Check whether a browser feature is part of the nightly draft or the stable version 1 spec.

USE CASE 4

Understand why service workers replaced the older Application Cache approach.

What is it built with?

BikeshedHTML

How do you get it running?

Difficulty · moderate Time to first run · 1h+

This is a specification document, not runnable software, contributing requires learning the Bikeshed markup format.

So what is it?

This repository holds the official W3C specification for a browser technology called service workers. It is a working document, not a library or application you download and use directly. If you are looking for a finished tool to add to your project, this is the source from which browser makers and web standards contributors work, not an end-user package. A service worker is a small script that runs in the background of a browser, separate from any web page. It can intercept network requests, save files to a local cache, and serve those cached files when there is no internet connection. This is what allows certain websites and web apps to keep working offline or during a poor connection. Service workers were designed to replace an older approach called Application Cache (AppCache), which developers widely found unreliable and hard to work with. The W3C publishes two versions of the specification from this repository. The nightly version is updated continuously as new ideas and requirements are added. The version 1 document is a more stable subset aimed at becoming an official W3C Recommendation, with contributors focused on fixing bugs and compatibility issues rather than introducing new features. Specification development happens through GitHub issues on this repository. Contributors propose changes, reach decisions in the open, and then update the specification document to reflect what was agreed. The document itself is written in a format called Bikeshed, a shorthand markup language that produces the final HTML output. To suggest a change, you edit the Bikeshed source file and submit a pull request. The README also explains how the team labels and prioritizes issues, including categories like impacts MVP, high risk, needs spec, and wontfix, so that ongoing work on the document can be tracked in an organized way.

Copy-paste prompts

Prompt 1
Explain in plain English what a service worker does, based on this specification's introduction.
Prompt 2
Walk me through how to propose a change to this specification using the Bikeshed source format.
Prompt 3
What is the difference between the nightly and version 1 documents in this repository?
Prompt 4
Why did service workers replace AppCache, according to this repo?

Frequently asked questions

What is serviceworker?

The official W3C specification document for service workers, the browser technology behind offline web apps, written for browser makers and standards contributors rather than end users.

What language is serviceworker written in?

Mainly Bikeshed. The stack also includes Bikeshed, HTML.

How hard is serviceworker to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is serviceworker for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.