Every photo someone's sent you, every video from a group chat, every voice memo, every PDF a friend forwarded — Messages keeps all of it on disk under ~/Library/Messages/Attachments/, organised in a nested structure of subfolders, separate from the database that stores the actual message text and metadata. Unlike Mail, which most people think of as an occasional attachment, Messages is where a lot of people share media constantly, across years of one-on-one chats and group threads that never really end. It's common to open Storage Settings, see "Messages" sitting at several gigabytes, and have no idea what's actually in there or which conversation is responsible. The good news is that fixing it is entirely doable from inside the Messages app; the part to avoid is touching the Attachments folder directly.
Where it comes from, and why group chats are the worst offenders
Every attachment you receive or send gets written into ~/Library/Messages/Attachments/, in a folder structure keyed by an internal identifier rather than by conversation name, which is why browsing it in Finder tells you almost nothing useful. The message text and who-sent-what-when metadata live in a separate database that Messages manages internally, so the Attachments folder and the message history are two halves of the same system that have to stay in sync.
Group chats are disproportionately responsible for the size of this folder. A single active group with a handful of people sharing photos and video clips over a few years can easily account for more storage than the rest of your one-on-one conversations combined, simply because everyone in the group is contributing media and you're receiving all of it. Voice memos and video, in particular, are far larger than the text and photos that dominate most conversations, so a group that leans on them will grow disproportionately fast.
You can see the total size of the whole folder with:
du -sh ~/Library/Messages/Attachments
If that number is large, it's worth going conversation by conversation rather than assuming it's evenly spread — in practice it rarely is.
Settings that control how much accumulates
Open Messages → Settings and there are two controls worth checking before you do any cleanup, because otherwise you're just cleaning up the same problem again in a year.
First, message and attachment retention: Settings → General has a Keep Messages option that controls how long Messages retains message history, with choices that typically include 30 days, one year, or forever. Setting this to a shorter window means old attachments age out automatically rather than sitting there indefinitely — though note this deletes the messages themselves, not just their attachments, so it's a meaningful decision, not a purely cosmetic one.
Second, automatic download behaviour: Messages has a setting controlling whether attachments (particularly larger media) download automatically when received or only when you tap or click to view them. If you're on a connection where bandwidth matters, or you simply want to control what accumulates locally, switching to on-demand downloading means Messages stops pre-fetching every piece of media the moment it arrives.
The safe way to reclaim space
As with Mail, the folder on disk and the app's internal database have to agree with each other, and Messages is the only thing that's supposed to update both at once. Deleting files directly out of ~/Library/Messages/Attachments/ can leave Messages referencing an attachment that no longer exists — which shows up as a broken thumbnail, a conversation that won't load properly, or attachments that appear to exist but fail to open.
Do it from within Messages instead:
- Open the conversation you want to clean up. For a quick way to find the heaviest ones, group chats with years of shared photos and video are the best place to start, since that's usually where the bulk of the storage lives.
- Use the conversation's details view (click the profile photos or group name at the top of the conversation) to see the media shared in that thread, which gives you a much better sense of what's actually there than scrolling through the whole history.
- Select the specific photos, videos, or files you don't need and delete them from that view, or delete individual messages that contain large attachments.
- For a conversation you're finished with entirely — an old group chat that's gone quiet, a one-off exchange with someone you no longer talk to — you can delete the whole conversation, which removes its attachments along with it.
This keeps the attachment files and the message database consistent, because it's Messages making the change rather than you working around it.
What to expect after cleanup
Reclaiming Messages storage isn't always instant. Depending on how the app manages its internal state, freed space can take a little time to reflect in Storage Settings after you've deleted attachments or conversations, particularly if Messages needs to do internal bookkeeping first. Give it some time before assuming a deletion didn't work.
Conclusion
Messages ages the same way Mail does: quietly, one attachment at a time, until years of ordinary conversation add up to something substantial. The fix isn't dramatic — a shorter retention window, on-demand downloads for media, and periodically clearing out the group chats that have accumulated the most — but it needs to happen through the app that owns the data, not by reaching into its folder directly.
We built VolumeLens because we needed a storage map that shows you where the space actually is without pretending to see inside places it shouldn't. ~/Library/Messages/Attachments sits behind the same kind of protection as Mail's data, so a well-behaved tool should tell you plainly when it can't look inside rather than guessing. You can read more about how VolumeLens handles protected folders, hard links, and everything else it does and doesn't do on the pricing page, where the free tier covers exactly this kind of scan.