Your audio never leaves your device. Decoding and Ogg Vorbis conversion both happen here in your browser; this page makes no network requests with your files.
Songs register under mypack, so each sound event becomes mypack:music_disc.<name>. Avoid minecraft so you never collide with a vanilla disc.
leave blank to use the audio length
redstone signal a comparator reads from the jukebox
{
"comparator_output": 12,
"description": {
"text": "My Custom Song"
},
"length_in_seconds": 1,
"sound_event": "mypack:music_disc.my_song"
}| Disc | Length | Comparator |
|---|---|---|
| Loading... | ||
Match the feel of a vanilla disc: most sit around comparator 1 to 15, and the comparator value is what redstone reads when this disc plays.
A custom jukebox song is a new entry in Minecraft's jukebox_song registry. On Java 1.21 and later that registry is data driven, so a datapack can add your own disc next to the vanilla ones instead of overwriting them. This builder writes the registry JSON and the matching resource-pack sound, then packs both into one bundle you install and play. Everything runs in your browser, so no audio is uploaded.
Each song needs a jukebox_song JSON with four fields: the sound_event id that points at your audio, a description for the disc tooltip, the length_in_seconds so the disc stops on time, and the comparator_output from 0 to 15 that redstone reads when the disc plays. The tool fills the length from your audio automatically and shows the exact JSON as you type.
The download is a bundle with two folders. Put datapack/ in your world's datapacks folder and resourcepack/ in your resource packs folder, enable both, and run /reload. The datapack registers the song, the resource pack supplies the Ogg Vorbis audio, and a /give command (shown after the build) hands you a disc that plays it.
The link between the datapack and the resource pack is the sound event. Your jukebox_song JSON lists a sound_event like mypack:music_disc.my_song. The resource pack's sounds.json then maps the event path music_disc.my_song to the file assets/mypack/sounds/music_disc.my_song.ogg. Get either side wrong and the disc spins silently, which is the most common reason a custom disc plays nothing.
Java Edition only plays Ogg Vorbis for custom sounds, so any mp3, wav, m4a or webm you add is decoded and re-encoded to Ogg Vorbis in your browser at build time. The sound uses the record category, the same as vanilla discs, so the music volume slider controls it and your other sounds keep working.
1. Pick a namespace (anything but minecraft) so your content does not collide with vanilla or another pack.
2. Give the song an id and a description, set the comparator output, and drop in your audio. The length is read from the file, or type your own as seconds or m:ss.
3. Click Add this song. Repeat for as many discs as you want; they all go into one bundle.
4. Name the bundle, build, install both folders, run /reload, then copy the /give command to get your disc. Built and verified against the 26.2 jukebox_song format.
On Java 1.21 and later, jukebox_song is a datapack-loaded registry, so you can add a new disc without replacing a vanilla one. Set a name, a description, the length in seconds and the comparator output, drop in your audio, and the tool writes the data/<namespace>/jukebox_song/<name>.json plus the matching resource-pack sound. Install both halves of the bundle and run /reload.
The Music Disc Maker replaces the audio behind one of the 22 existing discs, so the original song is gone while the pack is active. This builder adds an entirely new disc and song through the jukebox_song registry, leaving every vanilla disc untouched. Use the maker to swap a disc, use this to add one.
Exactly four fields: sound_event (the resource id of the sound to play, like mypack:music_disc.my_song), description (a text component shown in the disc tooltip), length_in_seconds (how long the track plays so the disc stops on time), and comparator_output (0 to 15, the redstone signal a comparator reads from the jukebox).
Inside the resource pack at assets/<namespace>/sounds/music_disc.<name>.ogg, and the resource pack's sounds.json maps the sound event music_disc.<name> to that file. The tool writes both for you and drops your audio in the right place, so you just copy the resourcepack folder into your resourcepacks folder and enable it.
Java Edition only plays Ogg Vorbis for custom sounds. You can upload .ogg, .mp3, .wav, .m4a or .webm here and anything that is not already Ogg Vorbis is converted to it in your browser when you build, so you never have to convert files yourself first.
A datapack cannot register a brand-new item, so a vanilla disc carries your song through the jukebox_playable component. After the build the tool shows a /give command per song, for example /give @s minecraft:music_disc_13[minecraft:jukebox_playable="mypack:my_song"]. Hold that disc, right-click a jukebox, and your track plays.
Want to swap a vanilla disc instead of adding one, or browse more Minecraft tools: