Home Blog How to Automatically Categorize Downloads With Messy Filenames
2026-07-20 · 5 min read

How to Automatically Categorize Downloads With Messy Filenames

IMG_4821.PDF, "download (3).pdf", Untitled.docx — about the only thing these names confirm is that a file exists. This post looks at how files like this get turned into something readable, automatically.

What Messy Filenames Actually Look Like

Phone photos come with IMG_ and a number baked in; browsers append "(1)(2)(3)" to repeat downloads; chat apps and email clients frequently strip the original filename entirely; every screenshot is just "Screenshot" plus a timestamp. Each of these naming conventions is "reasonable" in isolation — put them all in one folder and it's chaos. You can't tell what any file is about from its name without opening it. It's common for all of these naming habits to show up in the same folder at once — a phone screenshot, an email attachment, a browser download, each carrying a completely unrelated naming logic into the same place, none of them owing anyone an explanation.

Renaming Rules Can't Fix This

What a batch rename tool does is convert filename format A into filename format B — add a date prefix, strip some characters, that kind of thing. But if the original filename never contained information about what the file actually is (IMG_4821 was never going to know what it's a picture of), no amount of format conversion can invent that information. This is the ceiling for rule-based renaming tools: garbage in, garbage out — you can't output information the input never had.

Deriving a Name From What's Actually Inside

The approach that actually works skips the filename and reads the content directly. Filewise opens the file itself — text from PDFs, Apple Vision OCR for screenshots and scans — and extracts structured information: who issued it, what type of document it is, the date, and for invoices, the amount. That gets assembled into a "when_who_type_about-what" name — a file originally called IMG_4821.PDF, an IKEA receipt, becomes something like "2026-06-18_IKEA_receipt_$180.pdf". For the first time, the filename actually matches what's in the file. This naming isn't a blunt "slap a date prefix on it" — it starts by understanding what kind of document it is, then keeps whatever information matters for that category: an amount for an invoice, signed status for a contract, a subject line for a report. Each document type has its own priorities.

Not Every File Can Be Handled This Way

Honestly, this only works for files that carry structured information to begin with — a "who, what type, what about" — which invoices, contracts, reports, and screenshots naturally have. Source code, log files, and plain config files typically don't, and when there's no strong signal to work from, Filewise doesn't invent a name — it keeps the original and hands the decision back to you. That's not a missing feature; it's the natural consequence of a design principle: don't pretend to understand what it doesn't.

Confidence Comes From Being Checkable

You don't have to trust its judgment blindly from day one — every rename shows a proposal table first, original name, new name, and the reasoning, and nothing happens until you confirm it; a whole batch can also be undone at once. To see how this naming logic plays out in day-to-day Downloads folder cleanup, see this post; if finding old files is more your concern, see Can't Find a File You Downloaded?

When the filename can't tell you what's inside, let the content name itself.

Download Filewise for Mac
Related
→ Your Downloads Folder Is a Mess — Here's How to Fix It Automatically → Can't Find a File You Downloaded? Here's What to Do