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.