Convert J2B to WAV — Free Online Tool

Convert J2B game audio files from Jazz Jackrabbit 2 into WAV format using lossless PCM encoding directly in your browser. This tool decodes the ASYLUM Music Format wrapped inside the J2B container and outputs uncompressed 16-bit PCM audio — ideal for archiving, remixing, or analyzing the original game's soundtrack.

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 essentially ASYLUM Music Format (AMF) module files wrapped in a Jazz Jackrabbit 2-specific header. FFmpeg strips the J2B header, interprets the underlying module music data, and renders it by synthesizing the tracked audio into a continuous PCM audio stream. That rendered audio is then written into a WAV container using the pcm_s16le codec — signed 16-bit little-endian PCM — which is completely uncompressed. Unlike the original J2B, which stores music as sequenced instructions (notes, samples, and patterns), the output WAV is a fully rendered, linear audio file. This means the WAV will be significantly larger than the source J2B, and the conversion is inherently one-way: you cannot reconstruct the original module's pattern-based structure from the WAV.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In the browser version of this tool, FFmpeg.wasm runs the same logic entirely within WebAssembly — no server is involved.
-i input.j2b Specifies the input file. FFmpeg detects the J2B container by its magic bytes, strips the Jazz Jackrabbit 2 header, and passes the underlying ASYLUM Music Format module data to its tracker decoder for rendering.
-c:a pcm_s16le Sets the audio codec to signed 16-bit little-endian PCM, the standard uncompressed audio encoding used in WAV files. This ensures the rendered J2B module audio is written as a lossless, universally compatible waveform with no further compression applied.
output.wav Defines the output file as a WAV container. FFmpeg infers the WAV format from the .wav extension and packages the pcm_s16le audio stream into it, producing a standard uncompressed audio file ready for playback or editing in any audio application.

Common Use Cases

  • Extracting Jazz Jackrabbit 2 level music tracks into a lossless format for archival in a game soundtrack preservation project
  • Loading J2B music into a DAW like Audacity or Reaper to remix or remaster the original Jazz Jackrabbit 2 compositions
  • Analyzing the synthesized waveforms of ASYLUM Music Format tracks at the sample level for retro game audio research
  • Converting J2B files to WAV so they can be played on devices or media players that don't support module or game-specific audio formats
  • Creating high-quality audio assets from J2B source files to use in a fan-made game or tribute project based on Jazz Jackrabbit 2
  • Preparing J2B-sourced audio for lossless editing before re-encoding to a distribution format like FLAC or AAC

Frequently Asked Questions

The WAV output is uncompressed pcm_s16le audio, so once the J2B has been rendered to PCM there is no further compression loss. However, the conversion from J2B is inherently a rendering step — FFmpeg synthesizes the ASYLUM module's sequenced note and sample data into a fixed audio stream. The quality of that render depends on FFmpeg's internal module playback engine, which may differ subtly from how Jazz Jackrabbit 2's original engine played the music in-game.
J2B files store music as module data — a compact set of instrument samples, pattern sequences, and playback instructions — rather than as a full audio waveform. A J2B file might be only a few dozen kilobytes, while the rendered WAV can be tens or hundreds of megabytes because it stores every sample of the synthesized audio linearly. This is the same reason all tracker module formats (MOD, XM, IT, AMF) produce much larger files when rendered to PCM.
No. The J2B format stores music as sequenced module data (patterns, instruments, and timing instructions), which is fundamentally different from a rendered waveform. Once converted to WAV, that structural information is lost. There is no tool that can reconstruct a valid J2B or AMF module from a rendered WAV file — the conversion is strictly one-directional.
You can add '-ar 44100' to set the sample rate (e.g., 44100 Hz or 48000 Hz) and change '-c:a pcm_s16le' to another PCM codec for a different bit depth — for example, 'pcm_s24le' for 24-bit or 'pcm_s32le' for 32-bit output. A full example would be: ffmpeg -i input.j2b -ar 48000 -c:a pcm_s24le output.wav. Note that WAV files with 24-bit or 32-bit depth are fully supported by professional audio software but may not play in all consumer media players.
Yes. On Linux or macOS you can use a shell loop: for f in *.j2b; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.j2b}.wav"; done. On Windows Command Prompt, use: for %f in (*.j2b) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.wav". This is particularly useful if you are extracting an entire Jazz Jackrabbit 2 music library for archival purposes.
J2B files may contain embedded text metadata from the underlying AMF module format, such as a song title or instrument names. WAV has limited metadata support compared to formats like FLAC or MP3, and FFmpeg may not map all module-specific metadata fields into the WAV output. You should not rely on WAV to carry forward any J2B or AMF metadata — if metadata preservation matters, check the output file with a tool like MediaInfo after conversion.

Technical Notes

J2B is a proprietary wrapper format used exclusively by Jazz Jackrabbit 2 (Epic MegaGames, 1998), enclosing an ASYLUM Music Format (AMF) module inside a short custom header that includes a magic number and basic file metadata. FFmpeg identifies and unwraps the J2B header before handing off the AMF data to its internal module tracker decoder. The rendered output uses pcm_s16le — signed 16-bit little-endian PCM — which is the WAV standard's most universally compatible encoding, supported by every major operating system and audio application without requiring any additional codecs. Because J2B is a module format, the rendered length and exact waveform depend on how FFmpeg handles loop points and module timing; some tracks may render with a fixed duration that doesn't perfectly match in-game behavior, particularly for tracks designed to loop indefinitely. There are no video streams, subtitles, or chapter markers to consider in this conversion. The WAV format itself does not support lossy compression in this configuration, so the output is a faithful, full-fidelity PCM render of whatever FFmpeg's module engine produces.

Related Tools