How to Switch DJ Software Without Losing Cue Points, Loops or Playlists
Updated · by the MixGoat team · Tool: Library Migration
Short answer
Your cues, loops, playlists and ratings live in the old app's database, not in the audio files (Serato also writes cues into the file tags), so switching means converting that database into the new app's format. Rekordbox exports and imports its own XML, Traktor imports collection.nml, and Serato has no import at all, so a converter is the practical route: MixGoat's Library Migration reads Rekordbox, Serato, Traktor and VirtualDJ and writes any of the other three, free, with playlists, folders, hot cues, memory cues, loops, beat grids, key, rating, colour, comments and play counts carried over. Expect known mismatches in hot-cue slot counts, rating scales and key notation, and only Rekordbox has memory cues. Paid alternatives are Lexicon, DJ Conversion Utility and rekordcloud.
Step by step
- 1
Back up the source library before anything else
Rekordbox: File → Library → Backup Library (this copies master.db and can include the music). Serato: copy the _Serato_ folder from Music, and on Serato 4.x also Application Support/Serato/Library (master.sqlite). Traktor: copy collection.nml from Documents/Native Instruments/Traktor 4.x.x/. VirtualDJ: copy database.xml from Documents/VirtualDJ (Windows) or Library/Application Support/VirtualDJ (Mac).
- 2
Install and open the new app once
Every migration tool writes into the new app's existing library, so the new app has to have created it. Install it, launch it, let it finish first-run setup, then quit. MixGoat refuses to write if the target has never been run ("Rekordbox not detected. Install it and run once to create the library.").
- 3
Run the migration with the target closed
In MixGoat open Migrate Library, pick the source app or apps (Serato and Traktor in one run, for example; duplicates are merged by file path) and tick the targets. The analyze step shows Tracks, Playlists, Cues and Loops counts before anything is written. If the target app is still running, MixGoat asks "Migrate anyway" or Cancel; choose Cancel and quit the app, because a running app overwrites its database on exit. Library Migration is free on every plan.
- 4
Finish inside the new app
Rekordbox: Preferences → Advanced → Database → enable "rekordbox xml", then the rekordbox xml tree appears in the sidebar and you import playlists from it (this is also where a manual Rekordbox XML import lands). Serato: open it, the tracks and crates are there. Traktor: open it, or Preferences → File Management → import collection.nml. VirtualDJ: open it; cues load when a track is first played.
- 5
Spot-check the tracks you know best
Load five or ten tracks whose cues you know by heart and check hot cue positions, loop lengths, beat grid and key. Then open your biggest playlist folder and count tracks against the old app. Mismatches at this stage are almost always slot-count or notation differences (below), not lost data.
- 6
Keep the old app installed for a month
Do not uninstall the old software until you have played a few sets from the new one. The source library is read-only during migration and MixGoat writes a .bak copy of any target file it touches (rekordbox.xml, collection.nml, database.xml), so both directions stay open.
Where each app keeps your cues and playlists
None of the four apps stores cues, loops or playlists in a shared format, which is why switching is harder than copying a music folder.
- Rekordbox 6 and 7: master.db, an encrypted SQLite database (Library/Pioneer/rekordbox on Mac, AppData/Roaming/Pioneer/rekordbox on Windows). Cues, memory cues, loops, grids, playlists and My Tags all live there. rekordbox.xml is a separate export/import format, written only on request.
- Serato DJ Pro: the _Serato_ folder in Music holds database V2 and Subcrates/*.crate; Serato 4.x adds master.sqlite in Application Support/Serato/Library. Cues, loops and the beat grid are also written into each audio file as Serato GEOB tags, so Serato cues survive a copy of the files alone.
- Traktor Pro 3 and 4: one XML file, collection.nml, in Documents/Native Instruments/Traktor 4.x.x/, holding tracks, cue points (including loop and grid markers), playlists and the folder tree.
- VirtualDJ 2025: database.xml, in Documents/VirtualDJ on Windows and Library/Application Support/VirtualDJ on Mac, plus a MyLists folder. Cues are POI entries inside each Song element.
What transfers cleanly, and the mismatches to expect
A migration tool parses the source into one common model and writes that model out in the target's format. MixGoat's model carries title, artist, album, genre, label, comment, year, BPM, key, rating, duration, play count, colour, grouping and remixer per track, cue points with name, type, position, end position, hot-cue slot and colour, the beat grid, and playlists with their folder path and track order.
The differences between the apps are where you will notice changes. Rekordbox has 8 hot cues plus unlimited memory cues; Serato has 8 hot cues and separate loop slots but no memory cues, so Rekordbox memory cues only survive on the Serato side where a hot cue slot is free; Traktor has 8 cue slots shared between cues and loops; VirtualDJ has more pads than any of them. Ratings are stored as 0 to 255 in Rekordbox (in steps) and Traktor (continuous) but 0 to 5 in Serato and VirtualDJ, so a converter maps them to five stars and back. Keys are the third mismatch: Rekordbox writes Camelot or classic names, Traktor stores a numeric code and displays Open Key, and Serato writes musical names, so a Camelot library arriving as "Fm" is a display setting, not lost data (see mixgoat.com/guides/dj-key-notation-camelot-open-key).
Two things never cross over: features that exist in only one app (Rekordbox My Tags, Serato Smart Crates, Traktor Stems) and analysis the target insists on doing itself (VirtualDJ recomputes BPM on first play).
Manual routes, paid converters, and MixGoat
Manual: Rekordbox exports its collection as XML (File → Export Collection in xml format) and imports one under Preferences → Advanced → Database, so Rekordbox to Rekordbox on a new machine is easy. Traktor imports another collection.nml via Preferences → File Management. Serato has no import from XML or NML at all; it reads only what is in the file tags. None of the four apps converts another app's format directly, so any cross-app move needs a converter.
Paid: Lexicon is a subscription library manager that syncs to all four apps and is the most complete option if you also want an ongoing sync and a cloud library; DJ Conversion Utility (DJCU) is a one-off purchase for Mac that converts between the same apps; rekordcloud is a web tool centred on Rekordbox libraries. All three do the job.
MixGoat's Library Migration is free and covers any direction between Rekordbox, Serato, Traktor and VirtualDJ, including several sources into one target in a single run. It follows Rekordbox's own database pointer to find the right library, backs up target files to .bak, and never edits the source. Per-direction notes are on mixgoat.com/dj-library-migration and the pair pages: mixgoat.com/migrate/rekordbox-to-serato, mixgoat.com/migrate/serato-to-rekordbox, mixgoat.com/migrate/traktor-to-rekordbox, mixgoat.com/migrate/rekordbox-to-traktor and mixgoat.com/migrate/virtualdj-to-rekordbox.
Migrate your library with MixGoat
Free on every plan. Rekordbox, Serato, Traktor and VirtualDJ, any direction, with a .bak backup of every file it writes.
Migrate your library with MixGoatFrequently asked questions
- Can I switch from Rekordbox to Serato and keep my hot cues?
- Yes. Hot cues, loops, playlists, ratings and key transfer; memory cues have no equivalent in Serato, so only the ones that fit a free hot cue slot survive. Details on mixgoat.com/migrate/rekordbox-to-serato.
- Does Serato import a Rekordbox XML file?
- No. Serato has no library import from XML or NML. A converter has to write directly into the _Serato_ folder or master.sqlite and into the file tags. MixGoat, Lexicon and DJCU all do this.
- Will my beat grids transfer between DJ apps?
- Grid anchors are part of the migration model and transfer, but each app analyzes a little differently, so confirm the grid on tracks with a loose intro.
- Why are my ratings different after switching?
- Rekordbox and Traktor store ratings on a 0 to 255 scale, Serato and VirtualDJ on 0 to 5. Converters map between them, so a Traktor rating of 200 lands as four stars, not as a lost value.
- Is library migration free in MixGoat?
- Yes. Library Migration between Rekordbox, Serato, Traktor and VirtualDJ is free on every plan, in any direction, with no track limit.
- Can I run two DJ apps side by side after migrating?
- Yes, and it is the safest way to switch. Both apps point at the same audio files; only their databases differ.