If your music folder is a graveyard of half-ripped CDs, downloads in three different formats, and albums named "Track01.mp3," you're not alone. Streaming services never had to solve this problem for you, so it just piles up. Here's a practical, step-by-step way to clean it up without losing anything or accidentally overwriting a file you actually wanted to keep.
Step 1: Scan and stage before you touch anything
Don't point a conversion tool straight at your master library. Import into a staging area first — a "prep" folder or crate that's separate from your permanent collection — so you can review what got scanned, fix obviously wrong tags, and spot duplicates before anything is renamed or converted. Committing straight to your main library skips the one step that catches most mistakes.
Step 2: Decide your target format
FLAC or ALAC for anything you consider an archival copy — they're lossless, and storage is cheap enough that there's rarely a reason not to keep a lossless master. AAC or MP3 for a phone, a car, or anywhere space is actually constrained. If you're not sure yet, the safest default is to convert to a copy and leave your originals untouched — you can always re-encode from a lossless source later, but you can't undo a lossy-to-lossy conversion.
Step 3: Pick a folder structure
There are three sane options. Flat dumps every converted file into one folder — fine for a small, already-tagged library, useless for anything bigger. Source-relative mirrors your existing folder tree at the destination — good if your current structure is already reasonable and you just need a format change. Metadata-template (album artist / year / album, with compilation handling) rebuilds the structure from tags instead of trusting whatever folder names you inherited — this is usually the right call for a messy library, since it fixes the organization instead of just copying the mess.
Step 4: Avoid overwriting files
This is the step people skip and regret. A manual batch rename — via Finder, a shell script, or Automator — will happily overwrite a file the moment two tracks resolve to the same destination name, and there's often no warning until it's too late. Any tool you use for this should generate collision-safe names automatically (appending " (2)", " (3)", and so on) rather than silently replacing whatever's already there.
Step 5: Preflight before you commit
Before kicking off a batch job that might run for hours, check two things: does the destination volume have enough free space for the whole job, and does the process actually have write permission to every folder it's about to touch. Catching a permissions error or a full disk after three hours of encoding is a bad way to spend an afternoon.
Step 6: Batch convert
With staging, format, folder structure, and destination all decided, the actual conversion should be the boring part. A good batch engine queues everything at once, uses multiple CPU cores in parallel, and preserves embedded artwork and tags through the conversion instead of dropping them — so what comes out the other end is a clean, correctly tagged, correctly organized library, not just a pile of re-encoded files you have to fix by hand.
CrateDigger builds Steps 1 through 6 directly into its workflow — Prep Crate staging, three folder modes, collision-safe naming, and preflight checks are all built on top of a multi-threaded FFmpeg engine. It's free to try if you'd rather not script this yourself.