18

Note that this is NOT the Cache folder. It's the Cache of Service Worker, the path should be AppData\Local\Microsoft\Edge\User Data\Default\Service Worker.

Recently I noticed my hard drive is almost full so I want to clean it up. I noticed the while the Cache folder is acceptable (200MB), the cache of Service Worker folder is so big (> 1GB). I tried unregister all the service workers but the cache folder is still there.

Can I safely just delete them from Windows Explorer?

P.s: as a developer, I am amazed by the amount of registered service workers. Most of them are trackers and useless stuff I should have removed before.


I have read this article but it didn't work for me because:

  • I don't want to delete cookies as well, I need them. Unfortunately Chrome/Edge group that into one option.

  • I can't just go to each website to delete individual Service Worker cache.

2
  • Please kindly check if this thread was helpful to you: Clearing Service worker cache
    – Sunny
    Dec 8 '20 at 10:03
  • Hi sorry I forgot to mention that yes I have read that article. I will update the question. And no, it doesn't work for me.
    – Luke Vo
    Dec 8 '20 at 11:13
12
+25

My own Service Worker cache is found at the folder:
C:\Users\USER-NAME\AppData\Local\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage\3cedfb74d44f2e84198d23075aef16c34a668ceb.

I have tried to clean it up using in edge://settings/clearBrowserData the option of "Cached images and files", but this didn't touch the Service Worker cache.

So I just went into the above folder with explorer and deleted all its contents, but left the folder itself in place.

Then I started Microsoft Edge, and it started without any problem. It also re-populated the folder with new content.

So my answer is: Yes, you can delete it from Explorer.

If you are worried about safety, you may at first step move the contents to a temporary folder and run Microsoft Edge. If everything works well, you may then delete the temporary folder.

Note: Google Chrome behaves in exactly the same way. Its cache is found at:
C:\Users\USER-NAME\AppData\Local\Google\Chrome\User Data\Default\Service Worker.

3
  • 3
    Tip: you can just put this into address bar or Run dialog (Windows + R): %appdata%\..\Local\Microsoft\Edge\User Data\Default\Service Worker\CacheStorage. You don't have to worry about username.
    – Luke Vo
    Mar 7 at 17:38
  • 1
    @LukeVo awesome tip can be simplified further by using %LocalAppData% instead of %appdata%\..\Local (in some configurations it can be different locations and then %LocalAppData% is the more correct one)
    – NiKiZe
    Jun 23 at 8:06
  • @NiKiZe Awesome, I didn't know that variable. TIL, thanks!
    – Luke Vo
    Jun 23 at 10:23
7

@harrymc has answered how to brute-flush your cache. Here's a method to go website-by-website, understanding a bit more about what's going on.

Ìf you insert [chrome/edge/vivaldi/...]://serviceworker-internals/ into the address bar, you can see all registered service workers. However, unregistering them thorugh that page won't clear the cache, as this comprehensive article on love2dev notes.

Instead, if for example youtube.comhas registered a serviceworker, navigate to that website and open the developer console. Open the 'Application' tab and the 'Storage' item.

developer console - Application - Storage

Here, you'll see how much storage your service worker occupies, and you can select which data to clear for that website, for example retaining only the cookies.

Note that the service worker will restart as soon as you navigate to that site again.

If you wish to choose which applications can install a service worker on your system, follow the steps described in this article, using the uBlock plugin.

It's a wild guess, but 5GB of ServiceWorker storage is probably some webmail client with offline content enabled: it is fundamental to understand that serviceworkers were initially conceived for mobile devices who are not always online, and thus will cache some web-application data on the local system. Also, a serviceworker can receive push messages for an inactive webapp, and wake up that app. Gmail is a prime example: on mobile, you can read & write email while offline, and it will sync as soon as you go online. And even if the gmail app is not active after a phone restart, the serviceworker will receive the push message that you have something new in your inbox.

As such, on a PC which is always connected to internet, serviceworkers are not really necessary, except maybe to speed up the experience on some websites. It could however be that nowadays some websites simply won't work correctly if you block their serviceworker (but I'd say that's bad coding practice).

For a more comprehensive understanding, read the two linked articles. Also, Googles Introduction to Service Workers can shed some more light on what's going on.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.