How to Delete Duplicate Songs in Serato DJ Pro Without Breaking Crates
Last updated: 2026-10-19
Why Duplicates Break Crates in Serato DJ Pro
Serato DJ Pro stores crates as lists of file paths, not as embedded metadata. That means when you delete a duplicate file from your drive, every crate that points to that exact path loses the track. If your library contains two copies of the same song, deleting the wrong one can wipe a track from a crate while the identical file sits unused elsewhere. The fix is to identify which copy your crates actually reference, keep that one, and remove only the orphans. This guide walks through that process safely on macOS.
Before You Start: Back Up and Audit
Quit Serato DJ Pro completely. Duplicate your music folder and your Serato folder (typically ~/Music/_Serato_) to an external drive. Open Finder and confirm your crates are stored in the Subcrates folder as .crate files. If anything goes wrong, you can restore these files and your crates return exactly as they were. This single step prevents almost every crate-breaking disaster.
Step-by-Step: Delete Duplicates Without Breaking Crates
- Export a crate manifest. In Serato DJ Pro, open each crate you care about and note the file paths. A faster method is to drag crates into a new playlist or use a utility to read the
.cratefiles, which store the relative paths of every track they contain. You want a list of exactly which file paths your crates depend on. - Find the duplicates. Use a duplicate finder that compares audio content, not just filenames. Filename matching fails on tracks like
Track.mp3versusTrack 1.mp3. A content-based tool such as Dupes scans your macOS library and groups identical audio files, even when tags, bitrates, or filenames differ. - Cross-reference with your crate manifest. For each duplicate group, check which file path appears in your crates. That copy is the "keeper." The other copies are orphans—safe to remove because no crate points to them.
- Move, don't delete, the first time. Rather than trashing orphans immediately, move them to a temporary folder outside your music directory. Reopen Serato DJ Pro and load a few crates. If every track loads and plays, your crates are intact.
- Handle the tricky cases. Some duplicates are the same audio with different metadata, or a remix versus its original. Check our guide on managing duplicate remix and original tracks before removing anything that might be a distinct version.
- Delete the confirmed orphans. Once crates load cleanly, empty the temporary folder. Your library is now smaller, and every crate still points to a real file.
- Prevent recurrence. Adopt an import routine that checks new music against your library before adding it. Our guide on preventing duplicates when adding new music covers naming conventions and folder rules that stop duplicates at the source.
What About Cues, Loops, and Beatgrids?
Serato stores cue points and beatgrids in the track's metadata database, tied to the file path. If you keep the copy your crates reference, all your hot cues, loops, and grids stay attached. If you accidentally keep the wrong copy, you may lose cue data even though the audio is identical. That is why the cross-reference step matters more than the deletion step. When in doubt, keep the file that Serato has been loading and remove the copy that was never referenced.
When Duplicates Come From a USB Import
If your duplicates appeared after importing tracks from a USB drive, the paths may differ slightly between the drive and your internal library. Our guide on spotting duplicate tracks after USB import explains how to reconcile those paths before deleting anything, so crate references stay valid.
Final Check
After cleanup, open Serato DJ Pro, load each crate, and confirm track counts match your expectations. Run a quick scan for missing files—Serato flags them clearly. If nothing is missing, you have successfully deleted duplicate songs without breaking a single crate. Repeat the manifest-and-cross-reference workflow every few months, and your library stays lean and reliable.