Skip to main content
Mole
Overview Features Testimonials Pricing FAQ Blog
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
Buy now Download
Home/Blog

Free Up Browser Storage on Mac Safely

StoragePublished July 31, 2026Updated August 2, 20266 min read

Browsers are among the largest quiet consumers of disk on a developer or everyday Mac. A single Chromium profile can hold multi-gigabyte Cache, Code Cache, GPUCache, and service-worker stores while bookmarks and passwords remain small. Storage settings often fold that weight into System Data instead of a clear "Chrome" line.

This guide separates profile bulk you can rebuild from identity you must keep, explains why Safari's modern paths differ from legacy Caches, and shows how to free space without signing out of everything. When you finish, you should be able to measure a profile, clear only the disposable tier, and verify logins still work.

What actually grows inside a browser profile

Think in layers, not one "browser folder":

Layer Role Rebuild cost
HTTP disk cache Images, scripts, media for faster loads Low; first visit slower
Code / JS bytecode cache Compiled script cache Low; CPU on next launch
GPU / Dawn / WebGPU caches GPU-side resources Low
Service Worker + Cache Storage Offline app shells, PWAs Medium; apps re-cache
IndexedDB / Local Storage App state, offline DBs High if not synced
Cookies / Login Data Sessions and credentials High; you re-authenticate
Extensions + extension storage Features and their local DBs Medium to high
History / bookmarks Navigation and sync Depends on account sync

Clearing cache is not the same operation as clearing site data. The browser UI separates them for a reason; folder deletion often does not.

Left column lists disposable browser caches; right column lists identity and site state that should not be bulk-deleted.
One profile holds two risk tiers. Clear the left column after quit; treat the right column as a reset, not a tidy-up.
Cache is written, reused, then safely discarded while state remains.
HTTP and GPU caches are meant to be disposable. Login databases and many Local Storage trees are state, not junk.

Lab: measure the browser, not only System Data

Quit the browser first so files are not mid-write. Full Disk Access may be required for Terminal or a cleaner to see container paths. Permission errors mean access, not emptiness.

Chrome / Chromium family

Paths vary by channel and "Chrome for Testing":

du -sh ~/Library/Application\ Support/Google/Chrome \
  ~/Library/Caches/Google/Chrome 2>/dev/null
du -sh ~/Library/Application\ Support/Google/Chrome/* 2>/dev/null | sort -h

Drill into Default or Profile N:

du -sh ~/Library/Application\ Support/Google/Chrome/Default/* 2>/dev/null | sort -h

Typical heavy leaves under a profile: Cache, Code Cache, GPUCache, Service Worker, sometimes IndexedDB. Only the first group is a light tidy-up.

Safari

Modern weight is often in the container; legacy Caches can be nearly empty:

du -sh ~/Library/Containers/com.apple.Safari/Data/Library/Caches \
  ~/Library/Safari \
  ~/Library/Caches/com.apple.Safari 2>/dev/null

Safari's heavy modern cache is often:

~/Library/Containers/com.apple.Safari/Data/Library/Caches/com.apple.Safari

The legacy ~/Library/Caches/com.apple.Safari/WebKitCache tree can look related while holding almost nothing. Measure both before you celebrate.

Firefox

du -sh ~/Library/Application\ Support/Firefox \
  ~/Library/Caches/Firefox 2>/dev/null

Edge, Brave, Arc, Dia, and other Chromium builds

Same idea: Application Support holds the profile tree; Caches may duplicate or shadow parts of it. Multi-profile machines accumulate abandoned Profile 12 directories; measure each before deleting any.

Built-in cleanup first (preferred)

Chrome, Edge, Brave, Arc, and similar

  1. Use the browser Task Manager when CPU is the symptom (Chrome Helper); disk is a different job.
  2. Clear browsing data → start with Cached images and files only.
  3. Time range matters: "All time" plus cookies signs you out everywhere.
  4. Remove unused profiles from the profile picker so internal registries stay consistent; do not guess-delete profile folders.
  5. Disable extensions you do not use; some keep large local stores.

Safari

  1. Empty Caches from the Develop menu (enable under Settings → Advanced), or clear history with a bounded range.
  2. On versions with profiles, remove a whole secondary profile from Settings.
  3. Prefer Safari UI over deleting ~/Library/Safari wholesale; history, Reading List, and other state mix there.

Firefox

Settings → Privacy & Security → Cookies and Site Data → Clear Data, and clear cached web content without wiping logins unless you mean to.

Why the UI wins: browsers maintain indexes and quota accounting. Deleting random leaves can leave corrupt state that forces a longer repair on next launch.

Manual paths when the UI is not enough

Only after quit, and only for leaves you understand:

du -sh ~/Library/Application\ Support/Google/Chrome/Default/Cache \
  ~/Library/Application\ Support/Google/Chrome/Default/Code\ Cache \
  ~/Library/Application\ Support/Google/Chrome/Default/GPUCache 2>/dev/null

Delete a cache leaf, not the entire Default directory. Removing the whole profile is a factory reset of that identity.

Worked example

A developer Mac reports "System Data" around 90 GB. Measurement shows:

~/Library/Application Support/Google/Chrome/Default/Cache          18G
~/Library/Application Support/Google/Chrome/Default/Code Cache      4G
~/Library/Application Support/Google/Chrome/Profile 3               22G

Profile 3 is an abandoned work profile. The safe path:

  1. Open Chrome's profile picker and remove Profile 3 from the UI if it still appears.
  2. If the folder remains and the profile is truly unused, quit Chrome and remove that profile directory only after confirming it is not the Default identity you need.
  3. Clear Default's Cache and Code Cache via Clear browsing data (cached files) or by deleting those two leaves after quit.
  4. Remeasure; confirm Default still has Login Data and you can open work sites signed in.

Do not delete the entire Google/Chrome tree to "save time."

Updater leftovers and abandoned profiles

Chromium updaters sometimes leave old version directories beside the live browser. Keep the tree that matches the running app; older staged directories can go after a successful launch. Multi-profile machines: remove abandoned profiles from the UI when possible.

Edge's updater store has an extra rule on some systems: payloads older than the installed Edge version can be removable, while equal-or-newer payloads may be pending updates. Without a readable installed version, keep-newest conservatism is safer.

Sync side effects

Clearing cache does not delete bookmarks that sync through a browser account. Clearing cookies and site data does. History and open-tab sync depend on the vendor. Treat synced data like any cloud mirror: a delete here can change other devices.

Where a Mac cleaner helps

A review-first cleaner such as Mole can group known browser cache categories, show sizes, and default sensitive profile state to review-only or unchecked. That is useful when several browsers and old profiles share a machine. It should not replace the browser's own clear-data UI for cookie-level decisions, and it should never present an entire Application Support browser tree as one safe checkbox.

Use Analyze or du to find which profile is huge; use the browser or a reviewed cache list to remove. Pair with general cache hygiene.

Common mistakes

Clearing "all browsing data" for disk space. You pay in re-authentication, not only in GB.

Deleting Default wholesale. That is a reset, not a tidy-up.

Trusting the legacy Safari Caches path alone. Measure the container.

Leaving Chrome open while deleting cache leaves. Writers may hold files.

Verify

  1. Relaunch; confirm profiles and logins you expect.
  2. Remeasure the same paths; cache leaves drop, profile roots remain.
  3. Load a few heavy sites once; slower first loads are normal.
  4. Empty Trash only after you accept the removals.

Order of operations

  1. Quit the browser.
  2. Measure Application Support and Caches roots; drill into the largest profile.
  3. Prefer Clear browsing data → cached files only.
  4. Remove abandoned profiles from the UI.
  5. Only then delete known cache leaves by hand if needed.
  6. Relaunch and verify identity still works.
  7. Empty Trash.

Further reading

  • System Data
  • Clear caches
  • Chrome Helper high CPU
  • Vendor docs for each browser's clear-data UI

Browser storage is a cache and profile-management problem, not a reason to reset macOS. Measure the profile tree, clear disposable caches first, and treat logins and site databases as user data even when they sit next to a folder named Cache.

Mole brings disk analysis, app maintenance, and review-first cleanup into one native app, while leaving system-owned data to macOS and the apps that own it.

Buy Mole Try it free

Keep reading

  • StorageFree Up Mac Storage Without Losing Files5 min read
  • StorageDelete Local Time Machine Snapshots on Mac9 min read
  • StorageChoosing a Mac Disk Analyzer Beyond DaisyDisk9 min read

Mole · 鼴

Cleanup, software, and status for your Mac.

v1.12.0 (130) · Release notes

Support

Help Documentation Releases

Legal

Terms of Service Privacy Policy Refund Policy

Resources

Blog CLI Tool Affiliates Program

Connect

Twitter hi@mole.fit

Only official site mole.fit · Fake sites may ship unsafe downloads

The CLI stays free for terminal workflows.