The Service Worker Cache Cleaner popup — inspect and reset SWs and caches for the current origin.
Service Worker Cache Cleaner — Complete User Guide
Inspect · Reset · Localhost Dev
Version 1.0 · Updated 2026
Service Worker Cache Cleaner is a Chrome extension that gives you one-click reset of stale service workers and Cache Storage for the current origin. Built for developers who reuse localhost ports during local development — the DevTools fix is 5-10 manual clicks every time. This resets service workers and caches for the current origin only, in one click, without touching cookies, localStorage, or IndexedDB.
What Is Service Worker Cache Cleaner?
Service Worker Cache Cleaner is a Chrome extension that inspects and resets service workers and Cache Storage for the current origin. When you're developing locally and reusing a port — say localhost:3000 — stale service workers from a previous session can serve old assets. This extension lets you unregister all service workers and clear all caches for that origin in one click.
It also gives you individual controls to unregister a specific service worker or clear a specific cache, with Pro features including stale detection, health scoring, batch cleanup across all open localhost tabs, cleanup history, and webhook notifications.
Who Should Use This Extension?
- Frontend developers — working on SPAs with service workers that persist across dev sessions.
- Full-stack developers — running multiple microservices on localhost during development.
- QA engineers — testing PWA behavior and need a clean cache state between test runs.
- Anyone who builds on localhost — and gets frustrated by stale assets from old service workers.
Why You Can Trust Service Worker Cache Cleaner
๐ Trust built in Local-first, private by default, and built with transparency.
Service Worker Cache Cleaner runs entirely in your browser. All inspection and cleanup happens locally — the extension never reads or transmits page content, cookies, localStorage, or IndexedDB. The only network calls are an optional license check against Gumroad and — only if you configure it — a notification to ntfy.sh or your Slack webhook after a cleanup completes.
Battle-tested logic
Byte formatting tested across sub-KB, KB, and MB scales. Staleness tested at the exact threshold boundary. Health score tested across healthy/warning/worst-case range.
Documented calculations
Every formula is transparent and verifiable — no black-box algorithms.
100% local storage
All inspection data and settings stay in your browser.
No hidden data collection
Minimal permissions — only storage, alarms, activeTab, scripting, notifications, and tabs.
Why Use This Extension? (Key Benefits)
Key User Pain Points & How This Extension Solves Them
One click resets service workers and caches for the current origin — no DevTools navigation required.
When you restart a dev server on the same port, stale SWs and caches persist. This extension clears them instantly.
Unregister a single SW or clear a single cache without touching the rest — granular control when you need it.
Transparent health score tells you if your origin's SW/cache environment is healthy, good, warning, or stale (Pro).
Cleanup history logs every cleanup with JSON export — useful for debugging and sharing with your team (Pro).
Optional ntfy.sh and Slack webhook notifications when a cleanup completes (Pro).
Why Upgrade to Pro?
๐ Unlock the full power of Service Worker Cache Cleaner
The free tier gives you single-origin inspect and nuke, individual SW/cache controls, and native notifications. But if you're a developer who juggles multiple localhost projects, the Pro plan gives you the advanced features you need.
๐ Free
- Single-origin inspect + nuke
- Individual SW/cache controls
- Native notifications
- Keyboard shortcut support
⭐ Pro
- Stale detection with configurable threshold
- Health scoring with band labels
- Batch cleanup across open localhost tabs
- Cleanup history with JSON export
- Webhook notifications (ntfy.sh/Slack)
- Cache diff viewer
๐ ROI
- ๐ธ $5 one-time
- ⏱️ Saves 2+ hours/week
- ๐ Cleaner dev environment
- ๐ Audit trail for debugging
14‑day free trial included · one-time payment
Features — Detailed Guide
1. One-Click Nuke
What it does: Click the "Nuke This Origin" button to unregister all service workers and clear all caches for the current origin. Optionally reload the page after cleanup.
What's included:
- Full reset — unregisters every SW and clears every cache
- Origin-scoped — only affects the current origin, not other tabs or sites
- Smart reload — optionally reloads the page after cleanup
- Never-nuke exclude list — protect specific origins from accidental nukes
- Cache whitelist — preserve specific caches by name
2. Individual Controls
What it does: Each service worker and cache has its own "Unregister" or "Clear" button, so you can manage them individually without affecting the rest.
Why it matters: Sometimes you only need to clear one problematic cache or unregister one stale SW — this gives you that granularity.
3. Stale Detection (Pro)
What it does: Flags SW registrations and caches as stale if they're older than your configured threshold (default 24 hours).
honest tracking The standard Service Worker API does not expose an install time. "Age" here is the time since this extension first observed that registration or cache, tracked in local storage — not a fabricated read of browser-internal data that doesn't exist. This is labeled honestly in the UI.
4. Health Scoring (Pro)
What it does: Computes a health score for the current origin based on waiting workers, registration count, age, and total cache size.
formula Start at 100, deduct:
One waiting worker, 2 registrations, oldest age 25h (threshold 24h), cache size 120MB
Score = 100 - 20 - 15 - 25 - 15 = 25 → Stale Environment
5. Batch Cleanup (Pro)
What it does: Scans all currently open tabs whose origin matches localhost, 127.0.0.1, or *.local. Shows a list of tabs with their SW/cache state and lets you select which ones to nuke.
Why it matters: When you have 10 microservices open across different ports, each with their own service workers and caches, batch cleanup lets you reset them all in one go.
honest scope A Service Worker only exists in the context of a page that's actually loaded. Batch mode scans all currently open tabs — not an unbounded port range — because unopened ports have no workers to query.
6. Cache Diff Viewer (Pro)
What it does: Takes a snapshot of your current cache contents. After you rebuild your app, click "Compare to Snapshot" to see exactly which URLs were added or removed.
Why it matters: Perfect for understanding what your build process actually caches and verifying that stale URLs are being purged.
7. Cleanup History (Pro)
What it does: Logs every cleanup with origin, SW count, cache count, and timestamp. Export the entire history as JSON.
Why it matters: Useful for debugging, auditing, and sharing with your team when troubleshooting issues.
8. Cleanup Notifications (Pro)
What it does: Sends a notification to ntfy.sh or a Slack webhook when a cleanup completes. Native browser notifications are included for free.
Why it matters: Great for CI scripts, shared dev environments, or just getting a push notification on your phone when a cleanup finishes.
Setup & Configuration
Installation
- Install Service Worker Cache Cleaner from the Chrome Web Store.
- Navigate to any page on localhost, 127.0.0.1, or *.local (or any HTTP page).
- Click the extension icon in the toolbar to open the popup.
Keyboard Shortcut
- Press Ctrl+Shift+K (Windows/Linux) or Command+Shift+K (Mac) to nuke the current origin directly.
- You can change the shortcut in Chrome's extension keyboard shortcuts settings.
Configuring Settings
- Open the Settings page from the popup footer or the Chrome extensions page.
- Stale Threshold: Set the age threshold for stale detection (default 24 hours).
- Confirm Before Nuke: Choose when to show a confirmation dialog.
- Cache Size Threshold: Used when "over threshold" confirmation is selected.
- Reload After Cleanup: Set the default behavior for reloading after nuke.
Never-Nuke Exclude List
- In Settings, scroll to the "Never-Nuke Exclude List" section.
- Add origins you want to protect, one per line.
- Supports a trailing
*wildcard for the port, e.g.,http://localhost:*. - Click Save.
๐ก️ Safety Origins in the exclude list can never be nuked, even by the keyboard shortcut or batch cleanup.
Cache Whitelist
- In Settings, scroll to the "Cache Whitelist" section.
- Add cache names you want to preserve during nukes, one per line.
- Supports a trailing
*wildcard, e.g.,user-uploads-*. - Click Save.
๐ฆ Preserve Whitelisted caches are skipped during "Nuke This Origin" and batch cleanup.
Setting Up Notifications (Pro)
- In Settings, scroll to the "Cleanup Notifications" section.
- Select a notification type: ntfy.sh topic or Slack webhook URL.
- Enter your topic or webhook URL.
- Click Save.
๐ Native Native browser notifications work for free — no setup required.
Pricing: Free vs. Pro
- Single-origin inspect + nuke
- Individual SW/cache controls
- Native browser notifications
- Keyboard shortcut support
- Stale detection with configurable threshold
- Health scoring with band labels
- Batch cleanup across open localhost tabs
- Cleanup history with JSON export
- Webhook notifications (ntfy.sh/Slack)
- Cache diff viewer
One Pro license covers all features. Get your license at muhiuddinalam.gumroad.com/l/swcachecleaner.
Data Privacy, Performance & Permissions
- ๐ Local‑only storage: All data (observations, history, settings) is stored exclusively in your browser using
chrome.storage.local. - ๐ On‑demand injection: No persistent content script —
chrome.scripting.executeScriptruns only when you act. - ๐ก️ Minimal permissions: Only
storage,alarms,activeTab,scripting,notifications, andtabs. - ๐ Host permissions: Scoped to
localhost,127.0.0.1,*.local, and Gumroad — not broad internet access.
Common Mistakes to Avoid
Fix: The standard Service Worker API does not expose an install time. "Age" is the time since this extension first observed that registration or cache, tracked in local storage. This is labeled honestly in the UI as "Xh old (since first seen)."
Fix: The
update() API checks for a newer script but does not activate a waiting worker. Only self.skipWaiting() from within the SW itself, or a message-passing convention the SW must implement, can do that.
Fix: A Service Worker only exists when a page is loaded. Batch mode scans all currently open tabs, not a port range. Unopened ports have no workers to query.
- ⚠️ Non-localhost origins: Nuking origins that don't look like typical dev hosts triggers an extra confirmation, but is never blocked outright.
- ⚠️ Cache size is an estimate: Uses
Content-Lengthheaders where present; falls back to blob size (capped at 50 entries per cache) and marks as an estimate when that fallback is used. - ⚠️ Pro trial: 14‑day trial unlocks all Pro features — no credit card required for the trial.
A Note on Accuracy
Staleness tracking uses the time since this extension first observed a registration or cache — not a browser-reported install time (because the standard Service Worker API doesn't expose one). This is labeled honestly everywhere it appears in the UI.
Health Score is a transparent heuristic — not an AI judgment. The formula is: start at 100, deduct 20 for waiting workers, 15 for multiple registrations, 25 if oldest age exceeds threshold, 15 if cache size exceeds 100MB. Floor is 25. Banded as Healthy/Good/Warning/Stale Environment.
Cache size is a best-effort estimate. Uses each response's Content-Length header where present; falls back to reading the actual blob size (capped at the first 50 entries per cache to avoid pathological slowness) and marks the total as an estimate when that fallback is used.
Batch cleanup scans all currently open tabs whose origin matches localhost/127.0.0.1/*.local. It does not scan unopened ports because a Service Worker only exists when a page is loaded.
Frequently Asked Questions
Does this extension work on production sites?
Yes — it works on any HTTP/HTTPS site. However, nuking a production site's service workers and caches is not recommended. The extension warns you when the origin doesn't look like a typical dev hostname, but doesn't block it.
What happens to the data stored by the extension when I nuke?
The extension only unregisters service workers and deletes Cache Storage — it does not touch cookies, localStorage, IndexedDB, or any other storage mechanisms. Your browser's own data storage for that origin remains untouched.
How does the "Check for Update" button work?
It calls the real, standard registration.update() API, which asks the browser to check the network for a newer SW script. It does NOT force-activate a waiting worker — only self.skipWaiting() from within the SW itself can do that.
Can I use this with CI/CD scripts?
Yes — the keyboard shortcut (Ctrl+Shift+K) works in any tab, and the Pro webhook notifications can alert you when a cleanup completes. However, the extension is designed for manual use, not automated scripts.
What happens if I uninstall the extension?
All data (observations, history, settings) is removed from your browser. If you have a Pro license, you can re-enter your key after reinstalling to restore access.
Tired of stale service workers ruining your local dev?
Free: single-origin nuke · Pro: $5 one-time for batch cleanup, history, and more
Get Service Worker Cache Cleaner Pro → Install Free on Chrome Web Store →Service Worker Cache Cleaner · Version 1.0 · Built with ❤️ for Chrome · Privacy Policy · Contact Me
