Your DJ library is every track your DJ app knows about, plus everything it stores for each one: beatgrid, key, cue points, tags and the playlists it sits in. Keeping it in order is a short system: one master folder nothing moves out of, playlists (not folders) for how you play, a few tags you actually use, hot cues on every track you play out, and a backup you have restored at least once. It works the same in rekordbox, Serato, Traktor, VirtualDJ, djay, Engine DJ and Mixxx, and it survives the day you switch apps.

One folder, and files never move after import

Every DJ app keeps a database: your tracks with the path to each file, plus the cues, beatgrids and playlists you added. Move or rename a file in Finder or Explorer and the app keeps the cues but loses the file: a missing-file mark, and a deck that will not load.

All the main apps can relink: rekordbox with Auto Relocate (it searches folders you set in Preferences), Serato with Relocate Lost Files in the Files panel, Traktor with Check Consistency and its Relocate button, Engine DJ with Relocate Missing File, VirtualDJ with a relocate option in its browser. On a few thousand tracks that is a lost evening.

So pick one master folder, internal drive or external SSD, and put every track in it before you import. Subfolders by year or style are fine. After import, never reorganize inside it. If you must move it to a bigger drive, move it once, keep the inside identical, then run the relocate tool on the top folder.

Put the info in the file, not in the filename

Apps do not read filenames, they read tags: the artist, title, mix name, year, genre and label fields stored inside the file. Tags travel with the file to any app and any USB stick. The filename is only a path.

Fix tags before you import, with a free tag editor such as Mp3tag, or in the app right after. Four rules: one way to write artists (A & B or A feat. B, pick one), the mix name in the same field every time, a genre list of 10 to 20 names you never add to, and the release year filled in.

Playlists for sets, not folders

Folders say where a file lives. Playlists say how you play, and a track can sit in five of them at once. Keep the folder tree boring and do the thinking here:

  • By style: one per style you actually play.
  • By energy: warm-up, peak, closing.
  • By occasion: bar, wedding, festival, radio.
  • New this month: everything added in the last 30 days, untested.
  • Tested and worked: tracks that got a reaction from a real crowd.

And one more, rebuilt before each gig: 20 to 30 tracks, mostly from Tested and worked, a handful from New this month. Afterwards, promote what worked, demote what did not, empty the list. On Digger Digger the crate button saves a track to your crate, which is exactly this kind of list; the style pages are a good place to start one.

Ratings, colors and tags: one meaning each

What each app has today:

AppTrack colorStar ratingCommentExtra
rekordbox 7YesYesYesMy Tag, your own tag list
Serato DJ ProYesYes, since the version 4 libraryYesGrouping field
Traktor Pro 4YesYesComment and Comment2Smartlists can filter on all of these
VirtualDJYesYesYesUser1 and User2 fields, plus Write Tag to save to the file
djay ProYesMac onlyMac onlySmart playlists use color, rating and comments
Engine DJNoYes, 1 to 5 starsYesStars also on the players since 5.0

Never give one mark two meanings. Stars are confidence: 5 proven, 3 untested, 1 delete later. Color is a role in the set: warm-up, peak, closer. The comment is for words you will search: the venue where it worked, "vocal", "long intro". Stars and colors stay in the app database; the comment is a standard tag and usually travels.

Grids and hot cues: check the grid, then the same layout everywhere

Every app analyzes BPM, key and beatgrid on import, and BPM and key are right most of the time. The beatgrid, the app's guess at where every beat falls, is the one to check, because sync, loops and quantized cues depend on it. It goes wrong on live drums, long ambient intros, tempo changes, and old disco and funk. Set the first downbeat on the first kick and check the grid still lines up near the end, the week you add the track, not in the booth.

Then the cues. A hot cue is a saved point you jump to from a pad. What matters is that the same pad means the same thing on every track, so you never read the screen:

  1. First beat of the intro
  2. First drop, or where the vocal starts
  3. Breakdown
  4. Start of the outro, the point to mix out

Pads 5 to 8 stay free for loops. Set cues when you add the track, only on tracks you will really play.

Backups: 3-2-1, and test a restore

3-2-1: three copies, two kinds of storage, one away from home. The master folder on your laptop or SSD, a second drive synced weekly, a cloud copy. The music is the big part; the database with years of cues, grids and playlists is the small part DJs forget. Where it lives:

  • rekordbox: File, Library, Backup Library (it can include music files) and Restore Library. The database sits in a Pioneer/rekordbox folder in your user Library (Mac) or AppData (Windows); do not copy it by hand.
  • Serato: a _Serato_ folder in your Music folder, plus one at the root of every external drive that holds music.
  • Traktor: collection.nml in Documents, Native Instruments, Traktor, with a Backup subfolder written every time you quit. Native Instruments explains the restore.
  • Engine DJ: an Engine Library folder in your Music folder, plus one on every external drive. Preferences, Library, Backup covers the computer only, so copy the drive folders by hand.
  • VirtualDJ: database.xml in Documents, VirtualDJ, and one in a VirtualDJ folder on each external drive.
  • djay: a djay folder in your Music folder on Mac and Windows; Algoriddim lists the exact paths.

A backup you have never restored is a hope. Once a quarter, restore the database into a fresh user account, open a playlist, load a track, check the cues are there.

Moving to another app

Files and tags always move. Playlists usually do, as text lists: rekordbox imports M3U, M3U8 and PLS and exports M3U8, Traktor exports a Smartlist as M3U or NML, and the Serato DJ 5.0 beta brought back dragging an M3U8 into the library to create a crate. Such a list carries paths only, no cues.

Cues and grids move when the new app reads the old library. Engine DJ reads Serato crates, Traktor playlists (export the collection as NML first) and rekordbox playlists from a rekordbox XML export, cues and grids included. djay Pro reads rekordbox, Serato and Traktor playlists, cues and loops since version 5.4. VirtualDJ shows Serato crates and Traktor and rekordbox playlists when those apps are on the same computer. Mixxx reads Serato crates and rekordbox USB exports, cues included. Traktor and Serato do not import another app's library themselves; converters such as Lexicon (rekordbox, Serato, Traktor, VirtualDJ, Engine DJ and djay Pro, free for the conversion itself) and DJ Conversion Utility on Mac fill the gap. The common currency is the rekordbox XML export (File, Export Collection in xml format). Check grids and cues on a few tracks afterwards.

The 30-minute weekly routine

  1. 5 minutes: new files into the master folder, tags fixed.
  2. 5 minutes: import and analyze; they land in New this month.
  3. 10 minutes: check the grid on live drums or long intros, set the four cues.
  4. 5 minutes: sort last gig: what worked goes to Tested and worked, what did not loses a star.
  5. 5 minutes: sync the second drive, run the library backup. Once a quarter, test a restore.

Do that weekly and the library stays small enough to know by heart and clean enough to take anywhere. When you find tracks on Digger Digger, your crate exports as a list your app can import, straight into New this month: see how it works.