Convert MP4 to J2B — Free Online Tool

Convert MP4 video files to J2B, the ASYLUM Music Format-based audio format used by Jazz Jackrabbit 2, by extracting and re-encoding the audio track using the LAME MP3 encoder. This tool is purpose-built for game modders and retro gaming enthusiasts who need to prepare audio content in the exact format the Jazz Jackrabbit 2 engine expects.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

J2B is a game-specific audio container used exclusively by Jazz Jackrabbit 2, wrapping the ASYLUM Music Format with a simple proprietary header. Because J2B carries no video stream whatsoever, the conversion process entirely discards the MP4's video data and any subtitle or chapter metadata. The audio track — whether it was originally AAC, MP3, or Opus inside the MP4 — is decoded and then re-encoded from scratch using the LAME MP3 encoder at the target bitrate (default 128k). This is a lossy transcode: if your MP4 audio was already lossy (e.g., AAC at 128k), the re-encoding introduces a second generation of compression artifacts. The resulting J2B file contains only the MP3-encoded audio wrapped in the J2B header structure, ready for use within Jazz Jackrabbit 2's audio pipeline.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing tool, which handles the decoding of the MP4 container, audio transcoding, and writing of the J2B output file.
-i input.mp4 Specifies the input MP4 file. FFmpeg will demux the MP4 container, making the video, audio, and any subtitle or chapter streams available for processing — though only the audio stream will be used for the J2B output.
-c:a libmp3lame Selects the LAME MP3 encoder for the audio stream, which is the only audio codec supported by the J2B format. The source MP4 audio (typically AAC or MP3) is fully decoded and then re-encoded as MP3 by LAME.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second, a standard quality level that balances file size with acceptable audio fidelity for game audio use in Jazz Jackrabbit 2. Increase this value (e.g., 192k or 256k) to reduce generational quality loss when the MP4 source audio was also lossy.
output.j2b Defines the output filename with the .j2b extension, signaling FFmpeg to write the result in the J2B container format with the LAME-encoded MP3 audio payload. The video stream from the MP4 is implicitly dropped because J2B has no video support.

Common Use Cases

  • Preparing custom background music tracks for Jazz Jackrabbit 2 fan-made levels or total conversion mods by converting recorded gameplay footage or MP4 music videos into the J2B format the game engine reads
  • Extracting and converting a composed musical piece rendered out as an MP4 from a DAW or video editor into a J2B file for integration into a JJ2 community level pack
  • Converting MP4 recordings of MIDI or tracker music performances into J2B for use in Jazz Jackrabbit 2 level editors like JCS (Jazz Creation Station)
  • Archiving or replacing corrupted J2B soundtrack files by sourcing a replacement audio track from an MP4 and converting it to match the original game's format
  • Creating joke or parody level music for Jazz Jackrabbit 2 online community events by pulling audio from MP4 clips and packaging it as a valid J2B file

Frequently Asked Questions

Compatibility depends on how strictly the Jazz Jackrabbit 2 engine validates the J2B header beyond the MP3 audio payload. The ASYLUM Music Format wrapped inside J2B was originally designed around tracker/module music data, not arbitrary MP3 streams. While the LAME-encoded MP3 audio will be technically valid, some versions of JJ2 or community runners like JJ2+ may reject J2B files that don't conform to expected module music structures. You may need a dedicated J2B authoring tool to correctly wrap the output for full engine compatibility.
Yes — this is always a lossy transcode regardless of the source quality. MP4 files most commonly store audio as AAC, which is itself a lossy format. Decoding that AAC audio and re-encoding it as MP3 via LAME introduces a second round of lossy compression, which can produce audible artifacts especially at lower bitrates. For best results, use the highest quality source MP4 available and consider bumping the output bitrate to 192k or 256k using the FFmpeg command's -b:a flag to minimize generational quality loss.
All of them are permanently dropped. J2B is a purely audio format with no container support for video streams, subtitle tracks, chapter markers, or multiple audio tracks. Only the first audio stream from the MP4 is decoded and re-encoded into the J2B output. If your MP4 has multiple audio tracks (e.g., different language dubs), only the default track will be used unless you modify the FFmpeg command to select a specific stream with the -map flag.
Modify the -b:a flag value in the command. For example, replace -b:a 128k with -b:a 192k for higher fidelity, or -b:a 96k for a smaller file size. The full adjusted command would look like: ffmpeg -i input.mp4 -c:a libmp3lame -b:a 192k output.j2b. Keep in mind that J2B is intended for use in a late-1990s game engine, so extremely high bitrates like 320k offer diminishing returns for this specific use case.
Yes, on a desktop with FFmpeg installed you can batch process using a shell loop. On Linux or macOS, run: for f in *.mp4; do ffmpeg -i "$f" -c:a libmp3lame -b:a 128k "${f%.mp4}.j2b"; done. On Windows Command Prompt, use: for %f in (*.mp4) do ffmpeg -i "%f" -c:a libmp3lame -b:a 128k "%~nf.j2b". The browser-based tool on this page processes one file at a time, so the desktop FFmpeg command is the recommended approach for bulk conversions.
J2B is an extremely niche format specific to a single game — Jazz Jackrabbit 2 released by Epic Games in 1998 — making it one of the rarest audio conversion targets in existence. The format wraps the ASYLUM Music Format (AMF), which was itself a tracker module format, inside a simple binary header. Documentation is largely community-maintained through the Jazz Jackrabbit modding scene and resources like the JJ2+ project and ModdingWiki. If you need deep format-level information for authoring valid J2B files, the ModdingWiki entry for J2B is the most reliable technical reference available.

Technical Notes

J2B's roots in tracker/module music mean it was never designed as a general-purpose audio container — its ASYLUM Music Format foundation was built for sequenced, instrument-based music data rather than PCM or compressed audio streams like MP3. FFmpeg's ability to write J2B output is limited to encoding the audio payload as MP3 via libmp3lame, but the resulting file's compliance with Jazz Jackrabbit 2's specific J2B header expectations is not guaranteed for all engine versions. The MP4 input side supports a wide range of audio codecs (AAC, MP3, Opus) but all of them must be fully decoded before LAME re-encodes them as MP3, making quality loss unavoidable. No metadata from the MP4 — including title tags, artist info, or album art — is carried over to the J2B output, as the format has no standardized metadata fields. File sizes will typically be small, as J2B contains only a mono or stereo MP3 audio stream at the chosen bitrate with no video overhead. If you are working on Jazz Jackrabbit 2 level creation seriously, cross-referencing the output of this tool with a hex editor against a known-good J2B file from the original game is advisable to verify header correctness.

Related Tools