Free · no login · nothing uploaded
Tag editor.
Edit MP3, FLAC, WAV and AIFF tags with nothing uploaded and nothing re‑encoded. It reads the key and the tempo off the audio rather than making you type them, and it tells you which fields Rekordbox and Serato will actually read.
Drop your tracks
MP3, FLAC, WAV and AIFF can all be read and written. M4A is read-only. Drop a whole folder — nothing is uploaded and the audio itself is never touched.
The field that decides whether it worked
What each program actually reads.
A tag Rekordbox ignores looks identical to one it reads, until the USB is in the CDJ.
| Field | Written as | Read by | The catch |
|---|---|---|---|
| Title, artist, album | TIT2 / TPE1 / TALB, or the Vorbis equivalents | Everything | None. If these are wrong it is because they were wrong in the file. |
| BPM | TBPM — "a numerical string" | Rekordbox, Serato, Traktor, Engine DJ | It must be a bare number. "128 BPM" is not one, and different programs disagree about what to do with it. |
| Key | TKEY, plus a TXXX:INITIALKEY copy | Rekordbox, Serato, Traktor, Mixed In Key | The spec says three characters of note name. Camelot works everywhere but costs you Rekordbox's own key matching. Both are written here so nothing is left blank. |
| Label | TPUB | Rekordbox, Traktor | Serato shows it under a different column name, and some taggers write it to a TXXX frame instead where nothing finds it. |
| Grouping | TIT1, and GRP1 where it exists | Rekordbox, Serato, iTunes | Two different frames mean the same thing and iTunes writes the second. Both are read here; the Apple one wins when they disagree. |
| Comment | COMM with a language code | Everything | Serato and Mixed In Key sometimes hide the key in here when the key field is empty — so an "untagged" file often is not. |
| Cover art | APIC / FLAC PICTURE | Rekordbox, Serato, the CDJ screen | Above about 4 MB some hardware stalls loading the track. A 3000-pixel scan is wasted on a CDJ display. |
Written as ID3v2.3
Which version, and why it matters
Later is not better when the thing reading it is a CDJ.
MP3, WAV and AIFF all carry an ID3 tag; the only difference between them is where it sits. In an MP3 it is the first bytes of the file, in an AIFF it is inside an ID3 chunk and in a WAV inside an id3 one. Same bytes, different wrapper — so one writer serves three formats and the container code is only ever finding the right hole to put the tag in. FLAC is the odd one out: Vorbis comments, which are plain KEY=value strings, with artwork in a separate block.
Tags here are written as ID3v2.3, which is a compatibility decision rather than a default. 2.4 is the later specification and the better one, but Windows Explorer, a long tail of car head units and several versions of Rekordbox read 2.3 and quietly ignore 2.4. Nothing a DJ needs is missing from 2.3, so there is no reason to make a file less readable in order to be more modern.
Text goes out as Latin-1 when it fits and UTF-16 when it does not, because those are the only two encodings 2.3 defines. Writing UTF-8 into a 2.3 tag is common, illegal, and shows up as mojibake in precisely the software that reads 2.3 — which is how a perfectly good tagger turns Sørensen into Sørensen on a CDJ screen.
What was checked
The audio is genuinely untouched
A tagger that quietly changes your audio is worse than one that does not work.
Every write path was tested against ffmpeg — a decoder sharing no code with this one, because a writer and its own reader agreeing proves only that they agree. Eight file layouts: a 320 kbps MP3, a FLAC, an AIFF, a WAV, a FLAC that already had tags and a seek table, an MP3 with both an existing ID3v2.3 tag and an ID3v1 trailer, an MP3 whose existing tag was ID3v2.4 with synchsafe frame sizes, and an AIFF whose audio chunk has an odd length so the tag lands on an odd offset.
On all eight, the decoded audio came back with an identical checksum, and all fourteen written fields read back correctly through the independent decoder. On the FLAC, the seek table and a vendor block both survived the rewrite — dropping a seek table is the quiet way to make a file slow to scrub in Rekordbox, and it is what a naive rebuild does.
The test corpus is deliberately hostile: a title mixing Latin, Japanese and an emoji, an artist containing the byte that ID3 unsynchronisation exists for, a decimal tempo and a Camelot key.
Frequently asked
Common questions
Does editing tags re-encode the audio?+
No, and this is the thing to check before you use any tagger. The audio frames are copied byte for byte and only the container around them is rewritten — verified against an independent decoder on eight different file layouts, with the decoded audio identical every time. A tool that re-encodes turns a 320 kbps MP3 into a worse 320 kbps MP3 for no reason at all, and plenty of "tag editors" that also offer conversion do exactly that.
Which formats can it write?+
MP3, FLAC, WAV and AIFF can all be read and written. M4A can be read but not written — nothing in this toolkit writes an MP4 container, because nothing in a DJ chain wants AAC on the way out. If you need to edit an M4A's tags, convert it to AIFF or FLAC first and the tags come with it.
Should I write the key as 8A or as Am?+
Both work and they are not equivalent. The ID3 specification defines the key field as a note name of three characters or fewer — Am, F#m, Ab — and every DJ program reads that natively. Camelot codes are not what the spec means, but Serato, Rekordbox and Mixed In Key all write and read them there anyway, so 8A displays fine. The catch is that Rekordbox's own key features, including Related Tracks, match on the note name, so a library tagged entirely in Camelot loses them. This page tells you which notation each file is carrying.
How does it know the key and tempo without me typing them?+
It decodes the file and listens to it, in this browser tab, using the same engine as the Key & BPM Finder. It fills blanks only — a key you typed always beats a key a detector guessed. On a folder of white labels or unreleased dubs with no tags at all, that is the difference between an afternoon and a minute.
Will Rekordbox pick up the BPM I write?+
It reads the BPM field on import and uses it as a starting point, though it will still analyse the file to build a beat grid. Write the tempo as a plain number — 128 or 128.50 — and never with a unit. "128 BPM" in that field is not a number and gets ignored or read as 128 depending on the program, which is a surprisingly common way for a tagged library to end up half-tempo-less.
What happens to my Serato cue points?+
Serato keeps its cue points, loops, beat grid and waveform overview in a private GEOB frame inside the file, in an undocumented layout. A rewrite here does not preserve it, and the page says so on any file that has one. Nothing a DJ program displays as metadata is in that frame — but if the file is one Serato has analysed and you care about the cues, tag it before you analyse it rather than after.
Does anything get uploaded?+
No. Reading the tags, listening to the audio and writing the new file all happen in this tab; there is no server behind the page. That is worth caring about here specifically, because tagging is what you do to promos and unreleased material before anyone else has heard them.
Can I tag a whole folder at once?+
Yes. Drop as many files as you like, edit them one at a time or run the two batch actions — read key and tempo off every file, or fill blank artists and titles from the filenames — and the whole queue comes back as one archive. Files are renamed to "Artist - Title" wherever both are set.
Explore
Key & BPM finder · Audio converter · Playlist to Rekordbox XML · Serato crate reader · Audio quality checker · Key converter · ID3 tags · Camelot key · All tools
Find what mixes with these
DJ terms on this page: ID3 tags · Camelot key · USB prep · Musical key · FLAC · WAV and AIFF · Full glossary