Tagging Tracks: Develop A Coding System For Your DJ Library

Being able to quickly find great tracks from a DJ library to mix into a set is a critical skill. To get good at it, DJs need to be intensely familiar with their music and have a sense of what the crowd wants. But it also helps to have a solid organizational system for your library, one that you can quickly reference and remember what a particular track sounds or feels like.

In this article, DJTT contributor PDot shares a great process for tagging and coding DJ libraries super-efficiently. Check it out and share your own ideas in the comments!

A coding system for organizing music has become my most important and most used tool as a DJ. Not only does tagging your tracks change how you think about music organization, it also will improve your ability to find the perfect song at the perfect time. There are many ways of organizing your DJ collection, but I have found a variation of the “Sixxx” coding system works best for me.

What Exactly Is A Coding System?

A coding (or tagging) system is a method of putting your music into different categories to make songs easier to find. You can have codes for all kinds of metadata – things like genre, mood, era, set times, region – just about anything. It’s this extreme flexibility that makes coding your collection such a powerful tool.

How Will Coding My Tracks Help Me DJ?

It’s impressive how quickly your mind will adjust to putting a new system like this in place. Because you’re doing the tagging, you learn the rules of the system, and know exactly what each code/tag means. Here’s a few of the great benefits that come with a well-coded collection:

  • Makes finding the right song faster and easier
  • Coding “playlists” are live updating  = no more worrying about adding new songs to playlists
  • System is custom tailored to you, your library, and how you DJ
  • Helps solve “What do I play next?” moments during your sets

How Does A Coding System Work?

A coding system relies on the search functionality of your DJ software to make smart playlists on the fly. By typing in a few short keywords you are able to niche down even the most immense DJ library into just the songs that fit that moment of your gig.

Here’s a quick rundown of how to manually create your own coding system:

  1. Create a list of codes that will be useful for you and your DJ library (pro tip: start with a few codes, you can always add more later)
  2. All codes must begin with a special character such as “[“ or “{“. For example: [DEEP], [BIGROOM], [FIDGET]
  3. Choose a specific ID3 tag field (I use the comments field) to put the codes in
  4. Add codes to relevant songs. Most songs will have multiple codes! (pro tip: Using the “Append To Selected Tag” DougScripts speeds this up)
  5. Test it out! Use the search function in DJ software to make sure the code system is working correctly

VERY IMPORTANT: You must use a special character at the beginning of your tag that does not show up in any other ID3 tags in your library. 

Coming Up With Your Own System

The flexibility of a tag/code system is what makes it a great way to organize music. You can create a system that is very broad, or create something more complex. You can break your DJ library down into small, well-curated playlists that are accessible very quickly. 

Here’s a list of some of my own codes – use these as a good starting place for ideas to start your own system:

Genre: I have a two level genre code system:

1st Level: Broad tag for certain genres or similar genres

  • [DNC]: Overall tag for any dance music
  • [HH]: Overall tag for any Hip-Hop music
  • [REGG]: Overall tag for Reggae influenced music

2nd Level: a second tag for sub-genre or region

  • [DEEP]: Deep house
  • [TROP]: Tropical house
  • [FRNC]: French sample/loop based house
  • [LA]: West coast Hip-Hop
  • [NY]: East coast Hip-Hop
  • [DNHL]: Dancehall
  • [REGTN]: Reggaeton

Set Time: Different parts of the night call for different types of music. Break down a library with codes for each part of the night:

  • [EARLY]: Songs that I would use to open with
  • [PRIME]: Primetime songs that get more of a crowd reaction
  • [AFTER]: Songs I’d play to wind down the night

Era: I also add a code for the decade the song comes from. This especially is helpful if you ever play a themed party, like an 80s night:

  • [80S]: Songs from 1980-1989
  • [90S]: Songs from 1990-1999
  • [00S]: Songs from 2000-2009

While searching for one song using codes, you’re able to see even more songs you have already predetermined that might work with the first song you are looking for. This is a great way to run into a song in your library you may have forgotten about or haven’t played awhile. Or if you draw a blank in the middle of a set, type in a few codes and run into a track that might just save the night.

Tagging Your DJ Library With Other Tools

If you’re not into manually entering in codes for all your tracks, there are a few apps that can help you with that. Both Beatport Pro and Rekordbox allow for you to tag all of your tracks with custom tags/codes. Just be aware of what field that your codes are saved under because you want to make sure that they are searchable in whatever DJ software you use.

Here is a video overview how to create a coding system using iTunes:

Have your own ideas for DJ collection tagging? Share your processes in the comments below!

coding systemdj libraryid3 tagsMusic organizationtagging system
Comments (33)
Add Comment
  • tadoh

    It took me some time to figure out to do this without manually writing each tag.

    I landed on using Rekordbox’s “My tag” system, so that I can quickly click the different tags (and I can choose add tags if I need to) from the right hand pane for the selected track(s), and then tell Rekordbox to copy the My tag field into the comment field. This way, tags appear as /* Deep / Vocal / Peak Time */ in the comment field, and can also be read (and filtered) by Traktor.

    I’m sure there are other ways, but this works fine for me 🙂

  • Seville Lilly

    Re: step 2, special characters… CDJs will return an error on files with special characters in the filename. (Special characters in the tags are usually OK, though.) When configging filenames out of beatport pro or other tools that affect the filename, DON’T use special characters. use double parentheses, mispellings, prefixes like “GENRE-” or the like.

  • CUSP

    Why not create your own custom fields and sort by multiple fields? “Mood”, “Energy”, “Theme” and even “Notable Lyrics” all seem to be valid means of demarking songs, but it seems like a lot of applications don’t sort by multiple fields, simultaneously (I know Serato DJ does, but it’s not my favorite to DJ with). Either way, the more information you have on your songs, the better. Think like a human when you make these fields, because you’re going to be looking them up when you’re in the groove, not thinking analytically.

    Oh, and in case anyone cares, there’s MP3Tag (as a WINE bottle) for the Mac now. http://www.mp3tag.de/en/mac-osx.html

  • Stephen Nawlins

    Well I got different Folders on my HD with the Genres and really if you Need a Code to help you know if one of your Songs fits with the one playing, you should stop bring a DJ.
    A DJ knows his tracks and how they fit together, Any good DJ (I don’t talk about skills but about Music Knowledge) doesn’t Need more than a genre sorting.
    The one and only Thing that really helps is not overflooding his Harddrive.
    I got around 10 Sticks and 10 Harddrives, always got a storage device with me but I only have 1 I mix with and this is the one I know the Tracks…this is the one that gets cleaned up constantly.

  • Ryan Ruel

    I’ve shared this before, but I wrote a free (and open-source) Mac app called “Quicktag for iTunes” that does exactly this type of tagging a few years ago. I’ve been using it ever since for my own library, and it makes it super easy to organize my music within iTunes for use in any DJ application (Traktor, Serato, Virtual DJ, etc.).

    The way it works is you just start Quicktag along side iTunes, play your tracks in iTunes, and then you tick off the genre, category and attributes you want to assign to that track. Click “Apply”, and it updates the tags in your tracks in iTunes.

    Read about it more here: http://quicktagapp.com/

    There’s also a link to download it from the Mac app store. As I said before, it’s completely free!

    Windows users, sorry, I don’t have a port for Windows. The app uses Applescript on the back-end to talk to iTunes, so it’s not an easy port over to the Windows platform.

    • Stefan van der Valk

      Thx! Works great!

    • DJ LK

      Any chance you’ll give the ability for more than 18 attributes? This program is solid but I have closer to 35 attributes I’d want to pick from. Thanks keep up the work!

      • Ryan Ruel

        It could be done!

        • DJ LK

          Hey Ryan, any update to adding the ability for more than 18 attributes? Thanks

          • Ryan Ruel

            Sorry man, I have not had time to work on a new version.

        • L.Slayer

          I once visited your FB page and asked if there’s any chance of bringing more than 18 attributes. Still badly want your improvement~

          • Ryan Ruel

            I know I know, I have a list of things I’d like to add to the software. I just haven’t had the time to actually work on a new version.

            I’m hoping to start on one this winter when I have more indoor time.

  • blacksad

    the id tag official section use ; and / for separate multi value in new id3 2.4 you can use // but all software gui disable this for compatibility issue if i remember footbar use ; and itunes and xbmc use / but in traktor you don’t see multi artist or multi genre. all interface of mp3 player disabling multi value – in coding [ ] is not a separator 😀

  • tehk

    I’ve found that the comments field is worthless and I keep it hidden in Traktor to save space. Most tracks these days span several genres/subgenres, so it doesn’t really make sense to say a track is just Dubstep or Drum’n’Bass. Instead, I overload the genre tag with more information about the track. For example:

    dnb hard space
    dnb dark
    dstep chill
    dstep smash
    dstep mnml dark
    kore love
    kore rave

    This works really well for me. Also, I don’t find the need to use [ or ] characters since I can just search for dnb, space, smash, kore, etc…. I’m really lazy so dstep is short for dubstep and kore is short for hardcore 😉

  • Luiz Zen

    I have been thinking on creating such codes for my library. But these are my concerns:
    – Traktor search engine only searches by the exact word you give. So if you want to, for example, search for warm up tracks with vocals (let’s say [warmup] and [vocal] codes) it will bring only results that have ‘[warmup][vocal]’, in the specific order you tagged the codes, and forget the ones with ‘[vocal][warmup]’ (mixed order). Not sure if Rekordbox does it better…
    – There is no good ID3 tag specific for these codes and that are shared across different DJ software/music applications. What happens if you decide to switch Dj software after hundreds/thousands of tracks tagged with correct codes? Do it again?
    – You better think very carefully before start tagging your tracks. What if, after having tagged hundreds of tracks, you suddenly come up with a new code and realize you could have tagged many many tracks with that new-great-not-thought-before code? You should then, idealy, start over from zero. Or you may find out, maybe weeks/months later, that the codes you used are not so good and you want to replace them. What a pain 🙂

    I still think this idea is awesome and, if done properly/carefully (with a lot of patience), can bring things to another level. 🙂

    • Damien Sirkis

      Again touting my own horn here (disclaimer: I am the author of Rekord Buddy, DJTT can feel free to delete this if innapropriate), that’s exactly what Rekord Buddy is for. You can share tags between apps, do way more with them than with other software and also rename them (merges tags if the new name already exists). It also saves the tags to ID3 so they stay with the tracks (without using the comments field if you don’t want to). And its just the beginning, way more to come after 2.0 ships.

      • Alex Chex

        will it possible to fill mood, venue and set time values from Beatport Pro to file tags via Rekord Buddy?

        • Damien Sirkis

          Yes beatport pro support is planned for after release. Although mood from beatport is kinda pointless most of the time (it seems like every track has every mood all the time).

      • Luiz Zen

        I use RekordBuddy 1.x to sync playlists from Traktor to Rekordbox. It works quite well, but I am now using an older version of Rekordbox since 1.x does not support newer versions.
        What would be the right/best ID3 tag to use for adding those track codes in order to have it correctly synced between Traktor and Rekordbox, for instance?

      • mikefunk

        Yeah.Great. It’s really annoying how Apple users assume that whole world is base on Apple computers and don’t even bother to mention that it does not work on PC. It’s hilarious.

  • Damien Sirkis

    For what it’s worth, tags with the format NAME:VALUE will be supported by Rekord Buddy 2 and will allow playlist sorting based on different values, while remaining compatible with the method described above. For example, SetTime:Early and SetTime:Peak.

    • gigglekey


  • Ls

    Good info, even thought as other DJ I have also being doing this as well. RecordBox already has a field in which you can easily include this information which is great. Plus in RecordBox you can convert the iTunes “grouping”field into RecordBox “Label” which is of great help since now you do not have to start all over tagging information since most DJ Software do not share ID3 tag. I believe the biggest problem we are facing in regard doing this type of coding which is an excellent idea is the fact that many library edit software and DJ software do not share similar field and that in iTunes some field do not show in the DJ software. As well in iTunes some field can not be edit as a group. In iTunes I use the comment field for “MixedIn Key Tag”, Group for “MixedIn Key Energy Tag” and selecting my optional personal choice, the Description field which can not be edit as a group in iTunes and don’t show in any DJ software I use it to mark down song which are top 100 in a year basic, and finally I do my coding on the iTunes Album field. It will be great to have a software which you can use to match iTunes info to any of the mayor DJ software.

  • Tswok

    Really strange that at the age of Web 2.0, ID3 metadata doesn’t include tag management!
    I do use the “grouping” field (a bad choice because some software do not make it viewable. I would have to tweak the xml file (for example with OpenRefine) tobchnage this.

    I use the “genre” field to designate the main genre (Electronic/Dance, R&B/Soul/Funk…).

    The “grouping” field is used for specific tags. I make sure that tag”s name doesn’t interfere with words found in artsit’s, album’s or track’s name (for good results in full-text search) : for example ERCK for electro-rock, DHSE for deep house.

    I deeply use tags for
    – sub-genre : TEK for techno, THS for tech house, GLT for glitch, UHHP for underground hip-hop…
    – sub-sub-genre : MNL for minimal
    – bpm class : SLWW – SLW-MDM – MEDM – SPDD
    – global “shape” of sound : SHRP (sharp), RGX (rough), KOOL…
    – vocals : VOK
    – STRT for good tracks to start a set
    – a.s.o

    It deeply helps when building a playlist or improvising during a set!

  • Anthony Alonso

    I have been doing this for years, but my coding system is a tad easier utilizing the extra tags within the mp3 structure to give a list of emotions the tune can fit into (sub-genres).

  • Roy Bear

    Nice. Thanks for that guide.
    This reminds me to ask anyone, why NI diddn’t integrate the awesome feature “recommended Tracks” (found in the dead App named Traktor DJ) into Traktor Pro.
    This would make some decisions a lot easier 😀

    • Seth Hollender

      Agreed, this was occasionally a very useful tool. Maybe in 3.0?

    • SweetGwendoline

      I could imagne that they will integrate some new features soon. I recently got sent a survey with a big set of improvements for the browser which I should choose from.

      Sounds pretty interesting to me. They are not specifically talking about a recommended tracks feature, but smart playlists and ‘track pairing’.

      I grabbed a screenshot…

      • mikefunk

        Well if they are asking these now which is late 2016, they are really screwed and behind a schedule. I imagine it will take NI another 6 months or a year to add this feature knowing how NI dev. is slow. Seriously. These questions should have been asked year or two ago. What were they are thinking? Rekordbox will destroy Traktor soon looking at Pioneer tempo of development. It really shows how NI thought they can do whatever they want with this market. Good, at least now they can pull their heads of their asses and do some real coding that everyone was asking for years on forums (and was ignored). Hey NI – Stop asking stupid questions and read your God damn forum for once! They asking this now? Seriously?! It’s a laugh.