Why your Serato hot cues don't survive the jump to Rekordbox (and how to fix it)

If you’ve ever dragged a folder of tracks from Serato into Rekordbox and watched every single hot cue silently vanish, you’re not alone. This is one of the most common pain points DJs hit when they’re forced to switch platforms.

The short answer is: both platforms store cue metadata, but they store it in different places, in different formats, using different conventions. Neither is wrong. They were just built for different worlds.

Where Serato actually stores your cue points

Serato writes cue metadata into your audio file’s ID3v2 tag as a custom GEOB frame named Serato Markers2. Inside that frame is a base64-encoded binary blob containing every cue, loop, and color you’ve placed. It’s elegant — the cues travel with the file.

Rekordbox stores cue metadata in its own central database — a .edb SQLite file on macOS. It does not read Serato’s GEOB frame. From Rekordbox’s perspective, the ID3 tag contains no cue data at all.

This is why copying the same MP3 into both apps gives you a loaded track with full grid and cues in Serato, and a track with zero cues in Rekordbox. The file is identical. The databases are not.

What happens when you “export” from Serato

Serato’s built-in export feature has known limitations. It exports a Rekordbox-compatible XML, but cue color mapping is approximate, loop points often don’t round-trip, and cue names get truncated. For more than a couple thousand tracks, the export can take tens of minutes and occasionally crashes.

The three things that always break

  1. Cue colors — Rekordbox uses a preset 8-color palette; Serato allows arbitrary hex colors. There’s no 1:1 mapping.
  2. Loop points — Serato stores loops separately from cues; Rekordbox treats loops as a cue variant.
  3. Memory cues vs hot cues — Rekordbox distinguishes between memory cues (navigation) and hot cues (pad triggers). Serato doesn’t.

How briDJe handles the translation

briDJe reads the source library in its native format — GEOB frames for Serato, the SQLite database for Rekordbox. The translation happens in memory, with a deterministic mapping matrix for colors, loops, and cue variants.

$ bridje sync --from rekordbox --to serato --dry-run
 scanning rekordbox library... found 1247 tracks
 parsing cue metadata... 5843 cues, 312 loops, 89 memory cues
 mapping 8-color palette (rekordbox  serato)... OK
 would write: 1247 tracks · 5843 cues · 312 loops
 dry run complete no changes made

You can always preview the transfer before committing. We run every operation in dry-run mode by default.

What this means for you

If you’re moving a library today: don’t rely on Serato’s built-in Rekordbox export for anything you care about. Use a dedicated tool, preview in dry-run mode, and spot-check ten tracks before trusting the other nine thousand.

You can try briDJe free for 15 tracks — that’s enough to verify the transfer works for your specific cue style before committing.

あなたのライブラリを。
必要な場所へ。

15トラックまで無料 — 期限なし。