Part of: Mac storage full? Find what is using it and free up space safely (Storage full)
When Storage settings says your disk is almost full but your files look small, the space is not gone. It is usually counted in a way that hides it. There are five common causes, and you can check each one in a few minutes.
1. Local snapshots
macOS can keep snapshots, which are frozen views of your disk at a point in time. A file you deleted can stay inside a snapshot, so its space is not freed straight away.
To see whether snapshots exist, run this read-only command in Terminal:
tmutil listlocalsnapshots /
Each line is a snapshot. A list with only a few entries named like com.apple.os.update-... is normal: those belong to system updates. If you see none, snapshots are not the cause. macOS removes them on its own when it needs room, so you rarely need to do anything. Removing them by hand is not covered here because it is easy to get wrong.
2. Purgeable space
Some space is in use by data macOS can remove on demand, such as caches or files kept in iCloud. It reports this as available, so different screens can show different free space. This is why a number in Finder can differ from the one in Storage settings. Give macOS time, or restart, and the numbers often settle.
3. Clones and hard links
On a modern Mac, two files can share the same data on the disk:
- Clones. When Finder duplicates a file on the same volume, the copy can share its data with the original until one changes.
- Hard links. Two names point to one file. In Terminal,
ls -lishows an inode number in the first column, and two names with the same number are the same file.
A tool that adds up file sizes counts this data twice, so its total can be larger than what the disk actually holds. Deleting one of two clones also frees little or nothing, which makes it look as if a deletion did not help.
4. Sparse files
Some files, such as virtual machine disks or container images, report a very large size but only use the part that has been written. The reported size is the logical size. The space used on disk is the allocated size. In Terminal, ls -lhs prints both: the first column is the allocated space and the size column is the logical size. If the two differ a lot, the file is sparse or compressed.
5. Hidden and protected folders
Finder hides some folders, and Terminal may not be allowed to read others. A command like du -sh ~/* skips folders starting with a dot. When you add up what you can see and it comes to less than what is used, the rest is often in hidden folders, system data, or a protected area.
To compare, run df -h /System/Volumes/Data for what the disk reports, and du -sh ~/* | sort -h for what is in your home folder. Then look inside the largest folder, one level at a time.
How to tell which cause you have
- Run
tmutil listlocalsnapshots /. Many entries point to snapshots. - Empty the Trash and check again. If it changes, the space was in the Trash. See why the Trash does not free space until it is emptied.
- Compare
dfanddu. A big gap points to hidden or protected folders. - Check large files with
ls -lhs. A big logical size with a small allocated size points to sparse files.
For a wider look, what is taking up space on my Mac? covers the Storage settings and the biggest folders.
How DiskJoy counts
DiskJoy is our product. It reports allocated space, which is what a file really uses on disk, and counts shared data once, so clones and hard links are not added twice. A scan only reads file sizes and dates and changes nothing. DiskJoy is pre-alpha and cleanup is not available yet, so it shows what is there and you decide what to do. Download DiskJoy for Mac to see your own numbers.
What to do next
Start with the complete guide to freeing up space on a Mac. If the disk keeps filling up again, read Mac keeps running out of space.
Frequently asked questions
Why is my Mac storage full when I have no files?
The space is usually held by things that are not ordinary files you can see: local snapshots, caches, system files and hidden folders. Different tools also count the same data in different ways.
What is purgeable space?
Purgeable space is disk space that macOS is using for data it can remove on demand, such as caches or files kept in iCloud. It counts it as available, and releases it when it needs room.
Do Time Machine snapshots take up space?
Local snapshots can hold space, because files you deleted may stay in a snapshot for a while. macOS removes them when it needs the room.