Convert J2B to M4A — Free Online Tool

Convert J2B game audio files from Jazz Jackrabbit 2 into M4A format using AAC encoding, making the music playable on modern devices and media players. This tool decodes the ASYLUM Music Format wrapped inside J2B headers and re-encodes it as AAC audio in an MPEG-4 container — ideal for extracting and preserving classic chiptune-style game music.

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 files are a proprietary audio format from the Jazz Jackrabbit 2 game, consisting of ASYLUM Music Format (AMF) module data wrapped in a custom J2B header. FFmpeg decodes this module music by synthesizing the tracked audio data — interpreting instrument samples, note sequences, and effects — into a raw PCM audio stream. That decoded audio is then re-encoded using the AAC codec at 128k bitrate and packaged into an M4A container. Because module formats like AMF are synthesized rather than stored as continuous audio, the resulting M4A file size and duration depend on how FFmpeg renders the tracked playback. The -vn flag is included to explicitly suppress any video stream output, keeping the M4A as a pure audio file.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles both the decoding of the J2B/AMF input and the encoding to AAC/M4A output entirely within this browser-based WebAssembly environment.
-i input.j2b Specifies the input J2B file. FFmpeg identifies the ASYLUM Music Format wrapped inside the J2B header and initializes its module audio synthesizer to decode the tracked instrument and note data.
-c:a aac Sets the audio codec to AAC (Advanced Audio Coding), which is the native and most compatible codec for M4A containers. AAC provides better audio quality than MP3 at equivalent bitrates, making it well-suited for re-encoding synthesized game module audio.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second. This is a solid default for J2B-sourced music — the relatively simple timbres and limited frequency content of ASYLUM module tracks are well-preserved at this bitrate without unnecessary file size overhead.
-vn Explicitly disables any video stream in the output. This flag is required for clean M4A output to ensure FFmpeg does not attempt to pass through or generate a video track, keeping the file as a pure audio container.
output.m4a Specifies the output filename with the .m4a extension, which tells FFmpeg to use the MPEG-4 audio container format. This extension signals to media players like iTunes, Apple Music, and VLC that the file contains AAC audio in an MP4 wrapper.

Common Use Cases

  • Ripping Jazz Jackrabbit 2 soundtrack tracks to M4A so they can be imported into iTunes or Apple Music for personal listening
  • Preserving JJ2 level music in a widely compatible format for archival in game music databases or fan sites
  • Adding classic Jazz Jackrabbit 2 tracks to a mobile music library on an iPhone or iPad, where M4A/AAC is natively supported
  • Creating background music assets for fan-made projects or video content by converting J2B tracks to a format compatible with video editing software
  • Sharing specific JJ2 music tracks with other fans or retro gaming communities who may not have the game or a J2B-capable player
  • Batch-converting an entire JJ2 music directory to M4A for use in a custom media server or streaming setup

Frequently Asked Questions

Not necessarily. J2B files use the ASYLUM Music Format, a tracked module format where playback depends on the synthesizer rendering the instrument samples and note patterns. FFmpeg's rendering of AMF data may differ subtly from the game engine's own audio mixer — tempo, instrument volume balancing, and loop points may vary. The result is a faithful approximation rather than a bit-exact capture of in-game audio.
Yes, some quality loss occurs because the decoded PCM audio is encoded to AAC, which is a lossy codec. However, the source material — module music synthesized from simple tracked samples — is already relatively low in audio complexity, so AAC at 128k bitrate typically preserves the music very well. The conversion is lossy in a technical sense, but audible degradation is minimal for this type of content.
M4A with AAC encoding is broadly supported across Apple devices, Android, modern browsers, and desktop media players, making it an excellent choice for game music archival. AAC also achieves better audio quality than MP3 at the same bitrate, meaning 128k AAC in M4A will generally sound cleaner than 128k MP3 — particularly relevant for the mid-range frequencies present in tracked game music.
Replace the value after -b:a with your desired bitrate. For example, use -b:a 192k or -b:a 256k for higher quality at a larger file size, or -b:a 64k for a smaller file when quality is less critical. For J2B source material, 128k AAC is usually sufficient given the relatively simple sonic character of module music, but 192k is a safe choice if you want extra headroom.
Yes. On Linux or macOS, you can use a shell loop: for f in *.j2b; do ffmpeg -i "$f" -c:a aac -b:a 128k -vn "${f%.j2b}.m4a"; done. On Windows Command Prompt, use: for %f in (*.j2b) do ffmpeg -i "%f" -c:a aac -b:a 128k -vn "%~nf.m4a". This processes every J2B file in the current directory and outputs a matching M4A file for each one.
J2B files do not carry standard metadata tags — any title or authorship information is typically embedded informally in the AMF module data itself rather than in structured tag fields. As a result, the output M4A will likely have no embedded metadata. You would need to add tags manually after conversion using a tool like MusicBrainz Picard, mp4tag, or FFmpeg's -metadata flag.

Technical Notes

J2B is a niche format specific to Jazz Jackrabbit 2, and its ASYLUM Music Format (AMF) core is a tracked module format with a fixed set of instrument samples and sequenced note data — structurally similar to MOD, S3M, or XM formats from the same era. FFmpeg's AMF/J2B demuxer synthesizes this tracked data into PCM at decode time, meaning the output audio length and fidelity depend on FFmpeg's internal module renderer rather than a stored waveform. The resulting PCM is then encoded to AAC using FFmpeg's built-in AAC encoder and wrapped in an MPEG-4 container with the .m4a extension. The -vn flag prevents FFmpeg from attempting to include a video stream, which is necessary for clean M4A output. One known limitation: loop points embedded in the AMF module data are not translated into M4A chapter markers or loop metadata — the audio will play through once and end. If the J2B track is designed to loop indefinitely in-game, you may want to manually trim or loop the output file. The M4A container does support chapters, but FFmpeg does not automatically map AMF loop data to that feature in this conversion.

Related Tools