Music Library Doctor
Playlist migration

Traktor → Serato DJ

One-pass migration from Traktor collection.nml into Serato crate files. %% separator encodes nested crate folders preserved end-to-end, format gotchas handled on both sides, nothing leaves your machine.

The problem

Moving from Traktor to Serato DJ normally means an XML round-trip: export from Traktor, hope Serato DJ parses it correctly, manually rebuild %% separator encodes nested crate folders, discover cues didn't translate. Traktor's NML schema mixes playlist data, history, and remix sets — parsers that don't understand the full schema lose data on round-trip. And on the destination side: Every write must update both the main DB and each affected .crate atomically, or Serato shows ghost entries.

How Music Library Doctor does it

  1. 1 Install Music Library Doctor on the machine with Traktor and Serato DJ. MLD detects both libraries automatically.
  2. 2 MLD opens Traktor collection.nml directly without needing Traktor to be running.
  3. 3 Select the Traktor playlists or folders you want in Serato DJ. MLD maps folder nodes inside the collection XML into %% separator encodes nested crate folders sensibly.
  4. 4 Choose Serato DJ as the destination. MLD writes Serato crate files natively and updates both the main DB and every .crate file in one pass.
  5. 5 Open Serato DJ — playlists are already there with hierarchy intact, paths pointing at the right files.

Supported today

Rekordbox · Serato DJ · VirtualDJ (incl. Favorite Folders) on Windows 10+ and macOS (Apple Silicon + Intel).

Why native integration matters

Traktor and Serato DJ speak completely different languages: Traktor collection.nml (Traktor stores stripe/waveform data per track in a separate analysis folder — moving tracks without the analysis files loses visual previews) versus Serato crate files (Smart Crates are rule-based queries, not static lists — they have no direct equivalent in most other apps and need to be snapshotted at transfer time). XML export-import is the usual bridge — and it's lossy on both ends. MLD treats both formats as first-class, reads Traktor's structure natively, and writes Serato DJ's native format directly, so %% separator encodes nested crate folders survives and the target app doesn't re-import anything. A timestamped backup of each app's library is taken before any write.

Frequently asked questions

Do I need to install Traktor and Serato DJ on the same machine?

Yes. MLD reads both libraries locally, so both apps (or at least their library files) must be accessible on the same computer. Nothing uploads anywhere — all scanning is local.

Will nested %% separator encodes nested crate folders transfer correctly?

Yes. MLD reads folder nodes inside the collection XML and writes %% separator encodes nested crate folders natively so the structure survives the migration.

What if my music files moved after I built the Traktor library?

Run Fix Missing Tracks for Traktor first. MLD scans your drives, matches moved/renamed files, and repairs links in Traktor before the transfer — so Serato DJ receives a clean library.

Does it back up my libraries before writing?

Yes. Traktor and Serato DJ libraries are both copied to timestamped backups before any write. Rollback is always one folder away.

Can I go the other way, Serato DJ back to Traktor?

Yes — see the Serato DJ to Traktor guide. MLD supports every direction between supported apps.

What about Traktor stripe/waveform data?

Traktor stripe/waveform data lives in a separate analysis folder. MLD moves those alongside the playlist transfer so visual previews survive in the target app where the format allows.

Get your library in shape in minutes

Free tier covers detection and viewing. Lifetime access is $49 — $19 for the first 100 DJs.

Related guides