The blog
Understand your Mac's storage
Long-form guides on where the disk goes and how to get it back. Written by the people who built VolumeLens, and edited to the same standard as the app: no fluff, no clickbait, no dark patterns.
A printable Mac cleanup checklist you can copy straight into Notes
A single-page, condensed Mac cleanup checklist covering Trash, Downloads, developer caches, and snapshots — short enough to copy into Notes or print and keep by the desk.
September 4, 2026·Read →
Five Tests You Can Run on Any Mac Storage Tool to Check Its Honesty
Five hands-on tests — hard-link double-counting, sparse files, package interiors, and a network monitor check — you can run on any Mac storage tool to verify its claims yourself.
September 3, 2026·Read →
Cleaning up ML model caches on a Mac (Hugging Face, Ollama, LM Studio)
Where local machine learning model caches actually live on a Mac — Hugging Face, Ollama, and LM Studio — and how to prune them safely without breaking a tool you still use.
September 2, 2026·Read →
Mac storage full: an emergency 15-minute recovery routine
Your Mac is at 99% and refusing to save. Here is a calm, ordered 15-minute routine that reclaims enough space to think clearly and avoid a disk-full crash.
September 1, 2026·Read →
Cleaning up virtual machine disks on a Mac (Parallels, VMware, UTM)
How to reclaim space from Parallels, VMware Fusion, and UTM virtual machines on a Mac — growable versus pre-allocated disks, snapshot cleanup, and compacting.
August 31, 2026·Read →
Cleaning the Go modules cache on Mac: go clean -modcache and beyond
What's stored in ~/go/pkg/mod, the difference between GOPATH and GOMODCACHE, and when go clean -modcache is actually worth running.
August 30, 2026·Read →
Building a monthly Mac cleanup habit that actually sticks
A realistic way to build a monthly Mac cleanup habit — a calendar reminder, a short checklist, and focusing on three folders a month instead of trying to do everything at once.
August 29, 2026·Read →
Storage vs Disk Space vs Drive Space on Mac: Are They the Same Thing
Storage, disk space, and drive space get used interchangeably on Mac, but the terms differ, including the decimal-versus-binary gap behind advertised capacity.
August 28, 2026·Read →
Before you upgrade macOS: a pre-flight cleanup checklist
A pre-upgrade checklist that stops the installer from failing halfway: disk headroom, Time Machine, legacy app checks, and the caches macOS will rebuild anyway.
August 27, 2026·Read →
Cleaning up old Node versions from nvm and fnm on macOS
Why every Node version installed through nvm or fnm keeps its own complete copy of npm and global packages, and how to find and remove the ones you no longer need.
August 26, 2026·Read →
Mac Storage Tools and iCloud: Why Scans Undercount Optimised Macs
How iCloud placeholder files, dataless files, and Optimise Mac Storage affect what a storage tool can see, and why scans on iCloud-heavy Macs often undercount real usage.
August 25, 2026·Read →
Cleaning up a shared family Mac without touching anyone else's files
How to free up space on a Mac used by multiple family members — per-user caches, a shared Downloads folder, an external Photos library, and respecting what isn't yours to delete.
August 24, 2026·Read →
Deno and Bun caches on macOS: where they live and how to clear them
How ~/.deno and ~/.bun/install/cache work, what deno cache --reload and bun pm cache rm actually do, and how the two newer JavaScript runtimes compare to npm.
August 23, 2026·Read →
What to clean up after a Mac factory reset (and what to skip)
How to approach storage after a Mac factory reset — choosing Migration Assistant versus a fresh setup, what iCloud re-sync brings back, and what's worth deliberately leaving behind.
August 22, 2026·Read →
What the Built-In Mac Storage Screen Does and Doesn't Show You
A clear-eyed look at what System Settings Storage and Reduce Clutter actually do on macOS, and the specific things — folder view, System Data detail — they were never built to show.
August 21, 2026·Read →
Trash won't empty on your Mac? Here's what's actually blocking it
Why the Mac Trash sometimes refuses to empty — files still in use, permission issues, locked flags, and per-volume Trash folders — and how to resolve each cause safely.
August 20, 2026·Read →
APFS Clones Explained: Why Duplicating a Huge File on Mac Is Instant
Duplicating a file on APFS creates a clone sharing the same data blocks as the original, which is why it is instant and free until either copy is edited.
August 19, 2026·Read →
Cleaning up ~/.m2: Maven's local repository on Mac
Why SNAPSHOT versions accumulate forever in Maven's local repository, how mvn dependency:purge-local-repository works, and what's safe to delete by hand.
August 18, 2026·Read →
Cleaning up empty folders left behind on your Mac
Why Macs accumulate empty folders from old installs and Xcode projects, how to find them safely, and how to remove them without touching folders that only look empty.
August 17, 2026·Read →
Mac Storage Tools for Non-Technical Users: Why Simplicity Is the Feature
What actually matters in a Mac storage tool for non-technical users, why jargon-free design beats a long feature list, and why one-click clean claims deserve caution.
August 16, 2026·Read →
How Spotlight Indexes Your Mac: mdworker, mdimporter, and mdfind Explained
Spotlight's indexing pipeline relies on mdworker, mdimporter plugins, and the mdfind, mdimport, and mdutil commands — here is how each piece fits together.
August 15, 2026·Read →
Finding duplicate files on a Mac without breaking anything
How to find genuine duplicate files on a Mac safely — telling true duplicates from hard-linked copies, how content hashing works, and why deleting the wrong one can break references.
August 14, 2026·Read →
Cleaning up old DMG, PKG, and ZIP installers cluttering your Mac
A guide to safely clearing years of accumulated .dmg, .pkg, and .zip installers from a Mac, and how to recognise which ones you actually still need.
August 13, 2026·Read →
Cleaning the Gradle cache on Mac without breaking your next build
What lives in ~/.gradle/caches, why wrapper distributions pile up separately, and when --refresh-dependencies is the better fix than deleting the cache.
August 12, 2026·Read →
Mac Storage Tools for Creative Professionals: Project Bundles and Large Media
What matters in a Mac storage tool for video editors, motion designers, and photographers: package-style project files, Adobe caches, and support for scanning external drives.
August 11, 2026·Read →
Cleaning up your Mac's Movies folder without losing footage you need
How to clean ~/Movies on a Mac without breaking an iMovie or Final Cut project — telling screen recordings, library bundles, and raw footage apart before you delete anything.
August 10, 2026·Read →
Final Cut Pro Libraries: Why .fcpbundle Files Get So Large
Final Cut Pro libraries mix camera media with render files, optimized media, and proxies — most of it regeneratable, with a built-in menu to clean it up safely.
August 9, 2026·Read →
Cleaning your Mac's Downloads folder safely (and keeping it clean)
A methodical way to clean a years-old Mac Downloads folder — sorting by size versus date, telling installers apart, and understanding what Spotlight has already indexed.
August 8, 2026·Read →
What Is .fseventsd on Mac and Why Does It Exist on Every Volume
.fseventsd is a hidden per-volume log of filesystem changes that Spotlight and Time Machine rely on, safely rebuilt by macOS if it goes missing.
August 7, 2026·Read →
GarageBand and Logic Pro's Sound Libraries: Where the Gigabytes Go
GarageBand and Logic Pro share large sound content libraries stored outside the app, and the supported way to trim them is the Sound Library manager, not Finder.
August 6, 2026·Read →
How to free 100GB on a Mac: where the real space actually is
A realistic breakdown of where to find 100GB of free space on a Mac — Docker.raw, DerivedData, node_modules, video, and iOS backups — with honest per-item recovery estimates.
August 5, 2026·Read →
CocoaPods cache cleanup on Mac: pod cache clean --all explained
Where CocoaPods stores downloaded pod sources on macOS, what pod cache clean --all removes, and the difference between source specs and pre-built pods.
August 4, 2026·Read →
Mac Storage Tools for Developers: Caches, Snapshots, and Exclusions
What a Mac storage tool should get right for developer workflows: recognising node_modules and DerivedData, comparing scans over time, exclusion patterns, and CSV export.
August 3, 2026·Read →
The 30-minute Mac cleanup routine that actually recovers space
An ordered, 30-minute Mac cleanup routine — Trash, Downloads, Movies, developer caches, and local snapshots — finishing with a storage map to catch what the checklist missed.
August 2, 2026·Read →
Why Apple Podcasts Downloads Quietly Fill Up Your Mac's Storage
Apple Podcasts downloads episodes for offline playback into its own storage container, and heavy subscriptions can add up to gigabytes without you noticing.
August 1, 2026·Read →
VS Code's workspaceStorage folder: what it holds and when to clear it
How VS Code's per-workspace state in Application Support/Code/User/workspaceStorage accumulates, what extensions store there, and how to safely trim it.
July 31, 2026·Read →
Preparing your Mac to sell: a proper cleanup and reset checklist
Everything to do before selling or trading in a Mac — signing out of Apple services, erasing content safely, and making sure nothing personal survives the handover.
July 30, 2026·Read →
Living with a 256GB MacBook Air as a developer: a practical strategy
A working strategy for developers stuck on a 256GB MacBook Air — what to offload to the cloud, when to buy an external SSD, and which tools quietly eat the rest.
July 29, 2026·Read →
Cleaning up your Music library on Mac without losing anything you can't replace
A large Apple Music or legacy iTunes library can quietly hold tens of gigabytes in ~/Music. Here's what Optimise Storage can safely remove, and what it can't get back for you.
July 28, 2026·Read →
du vs df on Mac: Why the Two Commands Never Quite Agree on Free Space
du and df measure Mac storage differently, one from the filesystem and one by walking folders, which is why their numbers disagree and which to trust.
July 27, 2026·Read →
Old iPhone backups eating space on your Mac: how to find and clean them up
Local iPhone and iPad backups can quietly stack up to tens of gigabytes in MobileSync/Backup. Here's how to find them in Finder, what's actually in a backup, and how to delete the ones you no longer need.
July 26, 2026·Read →
Treemap Visualisation for Mac Storage: Why It Beats a Sorted List
What a treemap is, why it finds the biggest thing on your disk faster than a list, and why drill-down treemaps beat one flat map of a whole disk.
July 25, 2026·Read →
Treemap Layouts Compared: Squarified, Slice-and-Dice, and How Tools Colour Them
How different treemap layout algorithms — squarified versus slice-and-dice — and colouring and zoom choices affect how readable a Mac storage tool's visual map actually is.
July 24, 2026·Read →
Rebuilding the Spotlight index on Mac: when and how to do it safely
Spotlight search gone stale or mds eating CPU for hours? Here's what the Spotlight index actually is, when a rebuild is the right fix, and how to run it without guessing.
July 23, 2026·Read →
JetBrains IDE caches on macOS: what's safe to clear per product
Where IntelliJ, PyCharm, WebStorm, and other JetBrains IDEs store index caches on macOS, why each product keeps its own copy, and how to invalidate them safely.
July 22, 2026·Read →
Visual Map vs List View for Mac Storage: When Each One Wins
A practical comparison of visual treemap views and sortable list views for Mac storage tools, including keyboard versus mouse workflows and accessibility considerations.
July 21, 2026·Read →
Mac Storage Terminology Explained: SSD, Volume, Snapshot, and More
A plain-language dictionary of Mac storage terms — SSD, volume, container, snapshot, purgeable space, sparse file, hard link, symlink, and extended attribute.
July 20, 2026·Read →
Cleaning up Xcode simulators: simctl commands that actually help
How to use xcrun simctl delete unavailable and erase all to reclaim space from iOS simulator disk images without breaking Xcode's device list.
July 19, 2026·Read →
Purgeable vs Available Space on Mac: What the Storage Screen Doesn't Say
Purgeable space on Mac counts as used but is really reclaimable. What feeds it, why it exists, and why it can mislead you about how full your disk is.
July 18, 2026·Read →
Where Mac screenshots actually go, and how to stop them piling up
macOS saves screenshots to the Desktop by default — here's how to check or change that, and why hundreds of small PNGs still add up to a real storage and clutter problem.
July 17, 2026·Read →
Xcode iOS DeviceSupport: why it grows and what's safe to delete
How ~/Library/Developer/Xcode/iOS DeviceSupport accumulates one folder per device and iOS version, and how to safely clear out the ones you no longer need.
July 16, 2026·Read →
Mac Storage Tool Pricing: Subscription, One-Time, and Freemium Compared
How subscription, one-time purchase, and freemium pricing models work for Mac storage tools, and the honest tradeoffs behind each from both the buyer's and the maker's side.
July 15, 2026·Read →
How macOS Actually Calculates Free Space (And Why the Number Lies)
Why the free space number in Finder rarely matches what you expect: reserved space, purgeable data, shared container pools, and the GB versus GiB gap.
July 14, 2026·Read →
Cleaning up old Xcode archives without losing a dSYM you need
What's actually inside a .xcarchive, where Xcode Organizer stores them on macOS, and why you should keep dSYMs even after deleting the rest.
July 13, 2026·Read →
Snapshots vs Backups on Mac: What an APFS Snapshot Actually Protects
APFS local snapshots and real backups solve different problems. Here is what a snapshot actually is, how Time Machine uses it, and why you still need both.
July 12, 2026·Read →
Mac Storage Tools That Explain What a Folder Is, Not Just Its Size
Why a folder's size alone doesn't tell you whether it's safe to delete, and what it means for a Mac storage tool to recognise and explain dev caches, Xcode data, and similar folders.
July 11, 2026·Read →
How to Clean Up Firefox's Profile and Cache Folders on Mac
Firefox keeps each profile under Application Support with a cache2 folder and per-site storage. Here is how to clear it safely, and what you'll lose if you clear the wrong thing.
July 10, 2026·Read →
Xcode DerivedData explained: what it is and when to delete it
What actually lives in ~/Library/Developer/Xcode/DerivedData, why it grows without bound, and why deleting it is safe but not always the fix people expect.
July 9, 2026·Read →
Open Source vs Paid Mac Storage Tools: What the Money Actually Buys
Comparing open-source Mac storage tools like Grand Perspective and Disk Inventory X against paid alternatives, and what the price difference typically buys in practice.
July 8, 2026·Read →
Where Chrome Stores Its Cache on a Mac and How to Clear It Safely
Chrome keeps cache, Service Worker data, and SQLite databases under a profile folder in Application Support. Here is how it is laid out, and the safe way to clear it.
July 7, 2026·Read →
APFS Containers and Volumes: Why Your Mac's Disk Isn't Really Partitioned
How APFS containers and volumes work on Mac, why volumes share one free space pool instead of fixed partitions, and how to add a new volume from Disk Utility.
July 6, 2026·Read →
How to Clear Safari Cache and Website Data on Mac the Right Way
Safari's Manage Website Data panel lists every site storing data on your Mac, from cookies to cached Service Worker files. Here is how to read it and clear it safely.
July 5, 2026·Read →
The com.apple.quarantine Flag: What Sets It, and What It Actually Means
How macOS decides which files get the com.apple.quarantine attribute, what Gatekeeper does with it on first launch, and how to remove it deliberately.
July 4, 2026·Read →
How to actually shrink Docker.raw on macOS (the disk size setting won't)
Why lowering Docker Desktop's disk image size doesn't shrink Docker.raw, what Reset to factory defaults really does, and how to back up volumes first.
July 3, 2026·Read →
Cleanup Safety in Mac Storage Tools: Trash, Re-validation, and Blocked Paths
How to evaluate the safety of a Mac storage tool's cleanup feature, covering Trash-only deletion, re-validation before acting, and which paths a careful tool should refuse to touch.
July 2, 2026·Read →
Full Disk Access and Mac Storage Tools: What It Unlocks and What It Doesn't
What the macOS App Sandbox blocks a storage tool from seeing, what granting Full Disk Access actually unlocks, and how to decide whether a specific tool needs it.
July 1, 2026·Read →
Cleaning up iMessage attachments on Mac without losing your conversations
Messages stores every photo, video, and voice memo you've sent or received under ~/Library/Messages/Attachments. Here's how to reclaim that space safely, from inside the app.
June 30, 2026·Read →
Docker Desktop cleanup on Mac: images, volumes, and build cache
How docker system prune -a --volumes actually works, why Docker Desktop still reports high disk use afterward, and why Docker.raw doesn't shrink on its own.
June 29, 2026·Read →
iCloud Drive's Optimise Mac Storage: what it actually does to your files
Optimise Mac Storage evicts iCloud Drive files to placeholders to save disk space, trading it for network dependency. Here's how that works and why storage tools can misread it.
June 28, 2026·Read →
Homebrew cleanup on macOS: brew cleanup, autoremove, and the cache
What brew cleanup and brew autoremove actually delete, where ~/Library/Caches/Homebrew fits in, and why --prune=all matters more than people think.
June 27, 2026·Read →
Symbolic Links vs Hard Links on Mac: What Each One Actually Costs in Space
How symbolic links and hard links differ on macOS, why one costs almost nothing in storage while the other costs the full file, and where Finder aliases fit in.
June 26, 2026·Read →
Apple Mail is quietly filling your disk: cleaning up ~/Library/Mail
Apple Mail stores every downloaded message and attachment locally under ~/Library/Mail. Here's how that folder grows, what's safe to delete, and why you should do it from inside Mail.
June 25, 2026·Read →
How Mac Storage Tools Count Hard Links (and Why Totals Disagree)
Why hard links make disk-usage totals disagree between tools, how du's heuristics handle the double-counting problem, and how to check a tool's behaviour yourself.
June 24, 2026·Read →
Understanding the Cargo cache on macOS: registry, git, and target
What lives in ~/.cargo/registry, ~/.cargo/git, and every project's target folder, how cargo clean differs from clearing the registry cache, and when cargo-cache helps.
June 23, 2026·Read →
Cleaning up Poetry virtualenvs on macOS before they pile up
Where Poetry stores its virtual environments and cache on macOS, how poetry env remove works, and why in-project venvs behave differently from Poetry's central store.
June 22, 2026·Read →
How to Clean Up the Photos Library on Mac Without Losing Anything
The Photos library at ~/Pictures/Photos Library.photoslibrary can look enormous even with iCloud Photos on. Here is why, and the correct way to free space without touching the package.
June 21, 2026·Read →
Nominal size vs on-disk size on Mac: two numbers every storage tool should show
Why a file's nominal size and its on-disk size can differ on Mac: allocation blocks, sparse files, transparent compression, and why both numbers matter.
June 20, 2026·Read →
du, ncdu, dust, and gdu on Mac: When the Terminal Beats a GUI
How to install and use du, ncdu, dust, and gdu on macOS via Homebrew, and a practical guide to when a command-line storage tool is faster than a graphical one.
June 19, 2026·Read →
The uv cache on macOS: what it stores and when to clean it
How uv's cache differs from pip's on macOS, what lives in ~/Library/Caches/uv, and when uv cache clean is actually the right move.
June 18, 2026·Read →
Why Time Machine's Local Snapshots Make Your Mac Look Full
Time Machine takes hourly local snapshots on your internal disk even with no backup drive attached. Here is why that makes storage suddenly look full, and how to check and clear it.
June 17, 2026·Read →
Mac Storage Tools and Privacy: What to Check Before You Trust One
How to verify whether a Mac storage tool has network code, telemetry, or upload behaviour yourself, using Little Snitch and the macOS firewall, instead of taking a privacy claim on faith.
June 16, 2026·Read →
Why Finder's Get Info size doesn't match the Storage settings number on Mac
Why Finder's Get Info size and the Storage settings figure for the same folder disagree: app bundles, purgeable space, APFS snapshots, and metadata overhead.
June 15, 2026·Read →
pnpm store: what it is, and how to prune it safely on macOS
How the pnpm content-addressable store works on Mac, why disk usage looks huge but is shared across projects, and when pnpm store prune actually helps.
June 14, 2026·Read →
Cleaning up pip's cache on macOS without breaking your next install
Where pip stores wheels and source builds on macOS, the real difference between pip cache purge and pip cache remove, and how it coexists with uv, Poetry, and Pipenv.
June 13, 2026·Read →
APFS transparent compression explained: files smaller than they appear
How APFS transparently compresses certain files, the com.apple.decmpfs attribute that marks them, and why their on-disk size can be smaller than a naive total.
June 12, 2026·Read →
Sparse files on Mac: why a file's size and its disk usage can differ
What a sparse file is, why its nominal size and allocated size diverge, where they show up on macOS, and how APFS handles the holes inside them.
June 11, 2026·Read →
The Landscape of Mac Storage Analysers in 2026: A Category Map
A survey of the four categories of Mac storage tool — visual maps, list-only browsers, one-click cleaners, and command-line utilities — and the design tradeoff behind each.
June 10, 2026·Read →
APFS Snapshots on Mac: What They Are and How to Remove Them
APFS snapshots quietly hold onto disk space macOS reports as used, not free. Here is what a snapshot actually is, where they come from, and how to list and remove one safely.
June 9, 2026·Read →
System Data on Mac: what's inside that mystery slab
A calm breakdown of the System Data category on macOS: what Apple actually puts in it, why it grows, and how to enumerate its contents without guessing.
June 8, 2026·Read →
Choosing a Mac Storage Tool: An Honest Buyer's Guide for 2026
A decision framework for picking a Mac storage analyser, including the red flags to check before you install anything and how to match a tool to how you actually use your Mac.
June 7, 2026·Read →
Hard links on Mac explained: what they are and why deleting one doesn't help
A clear explanation of hard links on macOS: how they work, how to see and trace them with ls and find, and why deleting one copy doesn't free any space.
June 6, 2026·Read →
How to clean the npm cache on Mac safely (and when you actually should)
Where npm stores its cache on macOS, what verify and clean --force really do, and when a corrupted cache is causing your install failures.
June 5, 2026·Read →
Purgeable space on Mac: what it is and why it counts as used
A plain-language explanation of purgeable space in APFS: what makes it purgeable, why macOS holds onto it, and why df and Finder disagree.
June 4, 2026·Read →
How a Mac App's Size Is Actually Measured Inside Its .app Bundle
What's really inside a Mac .app bundle, why code signatures and universal binaries add to its footprint, and how to read an app's true size on disk.
June 3, 2026·Read →
Why screen recordings quietly fill up your Mac's storage
macOS saves screen recordings as large, lightly compressed .mov files to the Desktop by default — here's where they actually go and how to stop them piling up.
June 2, 2026·Read →
Why Mac Storage Scans Take as Long as They Do (and What Makes Them Feel Fast)
What actually determines Mac storage scan speed on APFS, the difference between a full scan and an incremental rescan, and what makes a scan feel fast rather than just be fast.
June 1, 2026·Read →
Cleaning up the Yarn cache on macOS: Classic and Berry explained
Where Yarn Classic and Yarn Berry store cached packages on macOS, what yarn cache clean actually removes, and why zero-installs repos should not be cleaned at all.
May 31, 2026·Read →
Extended Attributes on Mac: The Hidden Metadata Attached to Every File
What extended attributes are on macOS, how Finder tags and quarantine flags use them, how to list them with xattr, and why their cost adds up at scale.
May 30, 2026·Read →
The QuickLook thumbnail cache: a safe, easy win on a full Mac
macOS caches a thumbnail for nearly everything you preview at ~/Library/Caches/com.apple.QuickLook.thumbnailcache — here's what it is, why it grows, and how to clear it safely.
May 29, 2026·Read →
A 10-minute weekly Mac maintenance routine that prevents storage panics
A short weekly Mac maintenance routine — caches, Trash, Downloads — designed to take ten minutes and prevent the full-disk emergencies that force a rushed cleanup.
May 28, 2026·Read →
Setting up exclusion patterns in VolumeLens to speed up your scans
How exclusion patterns work in VolumeLens — glob and path-prefix rules for node_modules, DerivedData, and .git — and why skipping them makes every scan faster.
May 27, 2026·Read →
Ready to see where your storage went?
Every article on this blog is a rabbit hole. VolumeLens is the shortcut.