Open source · MIT · Python

Tag every track. Survive every library.

A lightweight DJ tagging GUI that writes metadata directly into your audio files — so your tags survive re-imports, library moves, and new DJ setups.

Works with Rekordbox, Engine DJ, Serato, Traktor — anything that reads ID3 / Vorbis / MP4 tags
01

Tags live in the file

Standard ID3, VorbisComment and MP4 atoms — not a proprietary database. Move the file, keep the tags.

02

Library-agnostic

Switch from Rekordbox to Engine DJ tomorrow. Your energy, ratings and vibe tags come along for the ride.

03

Instant Reload

Right-click → Reload Tags in Rekordbox and everything you tagged appears. No re-import, no rebuild.

DJ Tag Manager main window with waveform, energy/rating/style/mood/vibe/crowd buttons, and a track list.
The main view — track list, waveform, and tag palette on one screen. Tap once to toggle a tag, hit S or to save.

Features

Built for the way DJs actually prep.

Keyboard-first. No mouse hunting. Tag a folder of forty tracks in one sitting without losing your flow.

Waveform player

Click-to-seek waveform with playhead and time display. Hear the track, tag the track.

Keyboard-first workflow

Space play · S save · save+next · ↑↓ navigate. Stay on the home row.

In-app tag editor

Add, rename, recolor or reorder energy levels and tag categories without touching code. Saves to tags.json.

Legacy tag rescue

Rename a tag and existing files keep their old strings. The legacy panel lets you spot and clear them per-track.

Stats dashboard

See how many tracks are tagged, energy/rating distribution and which tags you actually use.

WAV → FLAC converter

Batch-convert WAVs to FLAC, AIFF or MP3 with full tag preservation. Built in.

Shareable tag packs

Export your vocabulary as a JSON pack and share it. Load bundled presets — or merge a friend's pack into yours without losing your own tags.

The vocabulary

A tagging system tuned for sets, not spreadsheets.

Built for the Little Data Lotta Love philosophy. Three to seven tags per track. Searchable. Mixable. Yours to customise.

ENERGY · GENRE FIELD
Start Build Peak Sustain Release
RATING · POPM
★ Situational ★★★ Reliable ★★★★★ Essential
STYLE
HouseDiscoFunk PopHip-HopR&B LatinAfroElectronic SoulTechnoDnB
MOOD · VIBE · CROWD
HappyChillDark UpliftingGroovyDriving AnthemicDeepLate-Night SingalongDancefloorBeach-Vibes Cafe-Set

Customise everything in the in-app editor — the defaults are just a starting point, and you can load a different pack if a different style suits you better.

Tag packs

Borrow a vocabulary. Or share yours.

A tag pack is a small JSON file that captures an entire tagging vocabulary — energy levels, colours, comment categories. Load one to skip the blank-page problem. Export your own to share with a friend or contribute back.

BUNDLED PRESETS
Minimal Open-Format / Wedding House & Techno Hip-Hop & R&B Multilingual / Global
HOW IT WORKS
  1. 01

    Load

    Open 🏷️ Tags → 📥 Load pack… and pick a bundled preset, or browse to a JSON file someone sent you.

  2. 02

    Replace or merge

    Replace swaps your vocabulary for the pack. Merge adds new tags on top of yours — your custom colours and tag order are preserved.

  3. 03

    Export

    Hit 💾 Export pack… to save your current setup as JSON. DM it, post it, or attach it to an issue.

  4. 04

    Contribute

    Open the Submit a tag pack issue, attach your file, done. No Git required.

See presets/ in the repo for the full file format and conventions.

Tag Vocabulary Editor showing energy levels with reorder buttons, plus a Style category with many tags. Toolbar shows Load pack, Export pack, and Pack info buttons.
Inside the Tag Vocabulary editor. The toolbar at the top is where pack import / export lives.

Workflow

Download. Tag. Convert. Mix.

  1. 01

    Collect

    Drop your fresh purchases into a prep folder. WAV, MP3, FLAC, AIFF, M4A — any mix.

  2. 02

    Tag

    Open the folder. Preview each track in the built-in player. Hit the energy, rating and vibe buttons.

  3. 03

    Convert

    One click batch-converts WAV → FLAC. Tags preserved, file sizes shrunk, Rekordbox-ready.

  4. 04

    Mix

    Import into Rekordbox / Engine / Serato. Reload tags. Search by mood. Build sets on the fly.

Format support

Tags everywhere they're supposed to be.

Format
Playback
Tagging
Rekordbox Comment Tags
MP3
FLAC
recommended lossless
AIFF
M4A
WAV
Genre & Rating only

Use the built-in 🔄 Convert WAVs tool to upgrade WAV files to FLAC and unlock full comment-tag support in Rekordbox.

Tag Stats window showing total tracks, tagged percentage, energy distribution, ratings, and top tags.
Stats — what's tagged, what's not, and which tags you actually reach for.
Convert WAV Files dialog with FLAC, AIFF and MP3 options and a checkbox to delete originals.
Batch WAV conversion — defaults to FLAC for full Rekordbox tag support.

Get started

Two commands. No accounts. No cloud.

$ git clone https://github.com/martinctc/track-tag-manager
$ cd track-tag-manager
$ pip install -r requirements.txt
$ python tag_manager.py

Requires Python 3.10+ and ffmpeg for waveform display and the WAV converter.