Music Library Doctor
Playlist migration

Engine DJ → VirtualDJ

One-pass migration from Engine DJ m.db into VirtualDJ database.xml + Favorite Folders. Regular playlists plus a separate Favorite Folders (★) tree preserved end-to-end, format gotchas handled on both sides, nothing leaves your machine.

The problem

Moving from Engine DJ to VirtualDJ normally means an XML round-trip: export from Engine DJ, hope VirtualDJ parses it correctly, manually rebuild regular playlists plus a separate Favorite Folders (★) tree, discover cues didn't translate. Engine DJ versions 2.x and 3.x changed the schema — tools written for one version often miss data on the other. And on the destination side: Paths live in three stores (main DB, M3U exports, Favorite Folders). Fix one without the other two and the library stays half-broken.

How Music Library Doctor does it

  1. 1 Install Music Library Doctor on the machine with Engine DJ and VirtualDJ. MLD detects both libraries automatically.
  2. 2 MLD opens Engine DJ m.db directly without needing Engine DJ to be running.
  3. 3 Select the Engine DJ playlists or folders you want in VirtualDJ. MLD maps playlist groups, smart playlists, history sessions into regular playlists plus a separate Favorite Folders (★) tree sensibly.
  4. 4 Choose VirtualDJ as the destination. MLD writes VirtualDJ database.xml + Favorite Folders natively, covering database.xml, M3U exports, and Favorite Folders together.
  5. 5 Open VirtualDJ — 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

Engine DJ and VirtualDJ speak completely different languages: Engine DJ m.db (Engine DJ libraries live on the player USB/SSD itself as a per-drive Engine Library folder, not just on the home machine) versus VirtualDJ database.xml + Favorite Folders (Favorite Folders (the ★ tree) are filesystem-rooted shortcuts that don't fit the standard playlist model — most migration tools strip them entirely). XML export-import is the usual bridge — and it's lossy on both ends. MLD treats both formats as first-class, reads Engine DJ's structure natively, and writes VirtualDJ's native format directly, so regular playlists plus a separate Favorite Folders (★) tree 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 Engine DJ and VirtualDJ 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 regular playlists plus a separate Favorite Folders (★) tree transfer correctly?

Yes. MLD reads playlist groups, smart playlists, history sessions and writes regular playlists plus a separate Favorite Folders (★) tree natively so the structure survives the migration.

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

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

Does it back up my libraries before writing?

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

Can I go the other way, VirtualDJ back to Engine DJ?

Yes — see the VirtualDJ to Engine DJ guide. MLD supports every direction between supported apps.

Will Favorite Folders (★) be preserved?

Yes. VirtualDJ's Favorite Folders (★) are a first-class destination — MLD can write nested folders into the ★ tree if you choose that target during transfer.

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