Clear Cache Clear Cache
Add to Chrome — Free

Clear Cache Blog

Service Worker Cache Explained: What It Is and How to Clear It

Updated March 2026 · 15 min read

Quick Answer Service worker cache is a separate JavaScript-controlled cache layer that the browser's standard cache clear (Ctrl+Shift+Delete) does NOT touch. If a site is still showing stale content after clearing cache, it likely has an active service worker. To clear it: go to chrome://settings/content/all, find the site, and click Clear data — or use DevTools (F12 > Application > Cache Storage > right-click > Delete). The Clear Cache extension handles this automatically when you select "All site data."
📋 Table of Contents
📋 Table of Contents

You cleared the cache. You refreshed the page. The site is still showing outdated content. Sound familiar? In many cases, the culprit isn't the HTTP cache at all — it's the service worker cache, a completely separate storage system that most cache-clearing guides don't mention. This article explains what service worker cache is, why it exists, why it's different, and exactly how to clear it when it's causing problems.

Clear Service Worker Cache Without DevTools

The Clear Cache extension clears all site data — including service worker cache — directly from your toolbar. No DevTools required.

Add to Chrome — Free


What Is a Service Worker?

A service worker is a JavaScript file that runs in the background of your browser, separate from the web page itself. It acts as a network proxy — it can intercept requests your browser makes and decide whether to serve a cached response, fetch from the network, or do something in between.

Service workers were introduced to enable Progressive Web Apps (PWAs) — web applications that work offline, load instantly, and behave like native apps. Google Docs, Twitter, Facebook, Gmail, Spotify Web, and thousands of other modern sites register service workers.

The key concept: a service worker runs even when the page is closed. It persists in the background and handles caching logic independently from the page's JavaScript.



Service Worker Cache vs. Browser HTTP Cache

These two caching systems coexist in your browser and are entirely independent:

FeatureHTTP Cache (Browser Cache)Service Worker Cache
Who controls itBrowser (based on HTTP headers)The website's JavaScript code
What it storesHTTP responses (HTML, CSS, JS, images)Whatever the developer chooses
Cleared by Ctrl+Shift+DeleteYesNo
Cleared by hard refresh (Ctrl+Shift+R)Yes (for the current page)No
Cleared by "All site data" in Chrome settingsYesYes
Access from DevToolsNetwork tab → disable cacheApplication tab → Cache Storage
Can work offlineNo (requires network for new requests)Yes (can serve from cache with no network)
Update mechanismCache-Control headers expire itDeveloper code updates it

This table explains why clearing cache "the normal way" doesn't always work: the standard cache clear only touches the HTTP cache. The service worker cache is untouched and continues serving its stale version.



How Service Worker Cache Gets Populated

When you first visit a site with a service worker, the browser downloads the service worker file and runs it. The service worker then decides what to cache during its "install" phase. This is called precaching — pre-downloading resources the app needs to function offline.

For a typical PWA, this might include:

This is stored in the Cache Storage API — a key-value store separate from HTTP cache, IndexedDB, and localStorage. You can see exactly what's stored there in Chrome DevTools (F12 → Application → Cache Storage).

How to see a site's service worker caches: Open DevTools (F12), click Application in the top tab bar, expand "Cache Storage" in the left sidebar. Each named cache (like workbox-precache-v2-https://example.com/ or static-assets-v3) is a separate service worker cache bucket. Click any cache to see exactly what's stored and the size of each entry.


Why Service Worker Cache Causes "Cache Clear Didn't Work" Problems

The typical scenario: a developer pushes an update to their website. Users who visited the site before have a service worker installed that's still serving the old version. Even after those users clear their browser cache, the service worker intercepts requests and serves its cached old version — bypassing the network entirely.

This creates several specific problems:

Problem 1: Site Shows Old Content After Update

You cleared cache, refreshed, but the site still looks like it did a week ago. The service worker's precached files haven't been updated. The developer may have forgotten to increment the service worker version, or the update mechanism isn't working correctly.

Problem 2: "Offline" Mode Persists When Online

Some sites show an offline fallback page when the service worker can't connect to the network. If the service worker itself is broken or stuck in a bad state, it might keep serving the offline fallback even when you have a working internet connection.

Problem 3: JavaScript Errors on Modern Site

A service worker might be serving an old cached version of a JavaScript file that's incompatible with a new server API. This causes errors that look like JavaScript bugs but are actually cache inconsistency issues.

Problem 4: PWA Won't Update After Install

Installed PWAs (apps added to your taskbar or home screen via Chrome) use service workers heavily. If the service worker isn't updating, the installed app stays on the old version indefinitely.

One-Click Service Worker Cache Clear

Clear all site data — including service worker caches — for any site you're browsing. No DevTools, no digging through Chrome settings.

Install Clear Cache — Free


How to Clear Service Worker Cache

Method 1: Chrome Settings (Recommended for Most Users)

Step 1: Open site data settings Navigate to chrome://settings/content/all in your address bar. This shows all sites that have stored data in Chrome.
Step 2: Find the site Type the domain name in the search box (e.g., "google.com" or "twitter.com"). All entries for that domain will appear.
Step 3: Clear all data Click the site entry, then click "Clear data." This removes ALL storage for that origin: HTTP cache, service worker cache, IndexedDB, localStorage, cookies — everything. The service worker is unregistered automatically.
Step 4: Reload the site Navigate back to the site. The service worker will re-register and re-download its assets fresh from the network.

Method 2: Chrome DevTools (More Surgical)

Open DevTools on the site Press F12 while on the site you want to fix.
Go to Application tab → Service Workers Click "Unregister" next to the active service worker. This stops the service worker from intercepting requests but doesn't delete its cached data yet.
Clear Cache Storage In the left sidebar, expand "Cache Storage." Right-click each cache bucket and select "Delete." This removes the actual cached files.
Reload the page The page will now load fresh from the network and re-install the service worker with updated assets.
DevTools shortcut for development: In DevTools → Application → Service Workers, check the "Update on reload" checkbox. This forces Chrome to update the service worker on every page reload, bypassing the service worker's 24-hour update check interval. Useful when testing your own sites during development.

Method 3: Clear Cache Extension (Easiest)

If you're on the affected site, clicking the Clear Cache extension icon and selecting "All site data" (or the most thorough clearing option) handles service worker cache along with all other storage types. This is the fastest approach if you're not a developer who needs to inspect what's being cleared.

Method 4: chrome://serviceworker-internals

Open the service worker internals page Navigate to chrome://serviceworker-internals in Chrome. This shows ALL registered service workers across all sites.
Find and unregister Find the service worker for the site you want to fix. Click "Unregister." Note: this only unregisters the service worker — you still need to clear Cache Storage separately via DevTools or Chrome settings to remove the cached files.


Service Worker Caching Strategies

Understanding why a site might serve stale content requires knowing the different strategies developers use:

StrategyHow It WorksWhen You See Stale Content
Cache FirstServe from cache, use network as fallbackAlways serves cached version until cache is cleared or expires
Network FirstTry network, fall back to cache if offlineOnly if network fails or takes too long
Stale While RevalidateServe cache immediately, fetch update in backgroundOn first visit after an update (second visit is fresh)
Cache OnlyOnly serve from cache, never use networkAlways — until cache is manually updated
Network OnlyAlways use network, never cacheNever (defeats offline purpose)

The most common cause of "clearing cache didn't work" is a Cache First strategy where the service worker was built to serve from cache aggressively for performance, without a proper update mechanism. Or a Stale While Revalidate situation where the background revalidation fetch is failing silently.



Service Workers and PWAs

Progressive Web Apps (PWAs) — websites installed as apps via "Add to Home Screen" or the install icon in Chrome's address bar — rely entirely on service workers to function offline. The service worker is what makes a PWA feel like a native app.

Clearing PWA service worker cache will disable offline functionality: If you've installed a PWA (like Google Maps offline, Twitter as a desktop app, etc.) and clear its service worker cache, offline access will stop working until the PWA re-downloads its assets while connected to the internet. The installed app itself won't be removed — just its offline cache.

PWAs typically use a library called Workbox (by Google) to manage their service worker caching. Workbox generates cache names like workbox-precache-v2-https://app.example.com/. If you see these in Cache Storage, you're dealing with a Workbox-managed PWA. These update reliably — if the content is stale, there's likely a genuine caching bug in the app.



Service Worker Lifecycle: Why Updates Sometimes Fail

The service worker update process has a specific lifecycle that can cause updates to appear stuck:

  1. Browser detects a changed service worker file (checks every 24 hours, or on every navigation if the page opts in)
  2. New service worker downloads and installs (in parallel with the existing one)
  3. New service worker enters "waiting" state — it can't activate until all pages using the old service worker are closed
  4. User closes all tabs for that site
  5. New service worker activates, deletes old caches, populates new ones

The stuck point is almost always step 3: the new service worker is waiting, but the user never closes all tabs for that site. This is why Chrome DevTools shows "waiting to activate" for new service workers. To force activation, close all tabs for that site, then reopen it.

Forcing immediate service worker activation (DevTools): In DevTools → Application → Service Workers, click "Skip waiting" next to the waiting service worker. This bypasses the lifecycle requirement and activates the new service worker immediately — useful when testing your own site updates.


Checking if a Site Has a Service Worker

You don't have to guess whether a site uses a service worker. Here's how to check:

Method 1: DevTools Application tab F12 → Application → Service Workers. If anything appears in the "Service Workers from this origin" section, the site has a service worker registered.
Method 2: Check for Cache Storage F12 → Application → Cache Storage. If there are named cache buckets, a service worker is storing data.
Method 3: chrome://serviceworker-internals This page lists ALL active service workers for all sites you've visited. Search for the domain name to see if it has any registered workers.

Most major websites you use daily have service workers: Google Workspace apps, Twitter/X, Facebook, Instagram, Spotify, Notion, LinkedIn, and thousands more. If a site works offline or loads extremely fast on repeat visits, it almost certainly uses a service worker.

Clear All Site Data in One Click

Stop digging through Chrome settings every time a site gets stuck. Clear Cache handles HTTP cache, service worker cache, IndexedDB, cookies, and localStorage — for any specific site you're on.

Add to Chrome — Free


Developer Perspective: Avoiding Service Worker Cache Problems

If you're a developer building sites with service workers, several practices prevent the "users stuck on old version" problem:

Quick test for your own site: In Chrome DevTools → Application → Service Workers, check "Update on reload" and also check "Bypass for network." With both checked, Chrome won't use the service worker at all during page loads — useful for testing whether a bug is caused by service worker caching or something else.


Summary: Service Worker Cache Quick Reference

ActionClears HTTP Cache?Clears Service Worker Cache?
Ctrl+Shift+Delete → Clear browsing dataYesNo
Hard refresh (Ctrl+Shift+R)Yes (current page)No
Incognito modeIrrelevant (fresh session)No (SW still runs)
chrome://settings/content/all → Clear dataYesYes
DevTools → Application → Unregister SW + Delete cachesNoYes
Clear Cache extension → All site dataYesYes
Closing all tabs for the site (update lifecycle)NoAllows new SW to activate


Frequently Asked Questions

What is service worker cache and how is it different from browser cache?

Service worker cache is a JavaScript-controlled storage layer managed by website code, completely separate from the browser's HTTP cache. The HTTP cache is controlled by browser headers and cleared with Ctrl+Shift+Delete. Service worker cache is controlled by app JavaScript and requires going to chrome://settings/content/all or using DevTools to clear. The key distinction: standard cache clearing often doesn't touch service worker cache at all.

Why does clearing cache not fix my problem if the site uses a service worker?

Because the service worker intercepts network requests and serves its own cached response — bypassing both the network and the HTTP cache. When you clear the HTTP cache, the service worker still has its own cache intact and keeps serving from it. To fix this, you need to clear all site data (which includes service worker cache) from chrome://settings/content/all, or use DevTools to manually delete the Cache Storage entries and unregister the service worker.

Will clearing service worker cache delete my app data or offline content?

Clearing service worker cache removes the locally cached app assets (JavaScript, CSS, HTML) that enable offline access. Your actual account data, documents, and server-stored content won't be deleted. However, the app will lose offline functionality temporarily — until it reconnects to the internet and re-downloads its assets. For PWAs like installed Google Docs or Twitter, offline mode will stop working until the next time you open the app while connected.

How do I know if a website is using a service worker?

Open Chrome DevTools (F12) → Application → Service Workers. If entries appear, the site has an active service worker. Also check Application → Cache Storage — named caches (especially ones starting with "workbox-") confirm service worker caching is active. Most modern web apps and all PWAs use service workers, including Google Workspace apps, Twitter, Facebook, Spotify, and Notion.

Can a service worker cache be updated without clearing it?

Yes — service workers have a built-in update mechanism. When the developer changes their service worker file, Chrome detects the change, downloads the new worker, installs it, and activates it once all old tabs for that site are closed. The new service worker can delete old caches and populate fresh ones. If a site isn't updating, it's usually because all tabs for that site were never fully closed, or the service worker file is being cached aggressively by the HTTP cache itself.

What is a stale-while-revalidate service worker strategy?

Stale-while-revalidate serves the cached version immediately (fast) while fetching a fresh version in the background. On your next visit, you see the updated version. This is why sites sometimes look "one update behind" — you're seeing last visit's version while the new version is being fetched. If a site is always showing old content rather than just one-version-behind, the background revalidation is likely failing, and clearing all site data will force a complete fresh load.

Why does a site work in Incognito but show old content in regular mode?

Incognito mode starts with a fresh session — no existing cookies, localStorage, or IndexedDB — but it does still run service workers if they were registered in normal mode. However, in Incognito, the service worker runs in an isolated context and typically won't have the same cached data as your regular session. If the site works in Incognito but not regular mode, it could be a service worker issue, an IndexedDB corruption, or a conflicting extension. Start by clearing all site data for that domain in regular mode.

More Free Chrome Tools by Peak Productivity

Bulk Image Downloader
Bulk Image Downloader
Download all images from any page
YouTube Looper Pro
YouTube Looper Pro
Loop any section of a YouTube video
Citation Generator
Citation Generator
Generate APA/MLA/Chicago citations
PDF Merge & Split
PDF Merge & Split
Merge and split PDFs locally
WebP to JPG/PNG
WebP to JPG/PNG
Convert WebP images to JPG/PNG
Screen Recorder Pro
Screen Recorder Pro
Record your screen or tab with audio