Convert AIFF to J2B — Free Online Tool

Convert AIFF audio files to J2B format, the audio container used by Jazz Jackrabbit 2, by transcoding the uncompressed PCM audio stream through the LAME MP3 encoder. This tool runs entirely in your browser using FFmpeg.wasm — no upload required, and files up to 1GB are processed for free.

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

AIFF stores raw, uncompressed PCM audio (typically 16-bit, 24-bit, or 32-bit big-endian samples) with no lossy encoding applied. J2B, the audio format native to Epic Games' Jazz Jackrabbit 2, wraps ASYLUM Module Format data in a proprietary header and relies on MP3 encoding via the libmp3lame codec. During this conversion, FFmpeg decodes the AIFF PCM stream entirely, then re-encodes it as MP3 at 128k bitrate using LAME, and writes the result into a J2B-compatible container. Because this crosses from lossless to lossy territory, the output will be perceptibly different from the source at a bit level — though at 128k the difference is generally inaudible for most audio content. The container switch itself is non-trivial: AIFF's chunk-based Apple structure is completely discarded in favor of the J2B wrapper expected by the Jazz Jackrabbit 2 engine.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that handles all decoding, encoding, and container muxing for this AIFF-to-J2B conversion. In the browser version of this tool, this runs as FFmpeg.wasm compiled to WebAssembly.
-i input.aiff Specifies the input file — in this case an AIFF file containing uncompressed big-endian PCM audio as produced by macOS audio tools or Apple hardware. FFmpeg reads the AIFF chunk structure to identify the PCM stream and its sample rate, bit depth, and channel count.
-c:a libmp3lame Selects the LAME MP3 encoder to transcode the uncompressed AIFF PCM audio into MP3, which is the only audio codec the J2B container format supports. This step is where the conversion crosses from lossless to lossy.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second. This is the default quality level for J2B output — high enough for clear game audio while keeping the file size manageable. You can raise this to 192k or 320k for better fidelity or lower it to 64k for smaller files.
output.j2b Defines the output filename and tells FFmpeg to wrap the encoded MP3 stream in a J2B container — the format natively read by the Jazz Jackrabbit 2 game engine. FFmpeg infers the J2B muxer from this file extension.

Common Use Cases

  • Preparing custom background music tracks for Jazz Jackrabbit 2 mods or community-made levels, starting from high-quality AIFF masters recorded or edited in a macOS DAW.
  • Archiving or restoring J2B game audio by first working in lossless AIFF on macOS (for editing, pitch correction, or mastering) and then exporting the final mix to J2B for in-game use.
  • Converting professionally recorded foley or sound effects stored as AIFF on Apple hardware into J2B files compatible with Jazz Jackrabbit 2 level editors.
  • Batch-producing J2B music files for a Jazz Jackrabbit 2 total conversion project where the source material was delivered by composers in AIFF format.
  • Testing how a high-fidelity AIFF recording sounds when compressed to the MP3-based J2B format before committing to a final bitrate for a game release.
  • Reproducing or recreating vintage J2B game audio assets from lossless AIFF reference recordings preserved from the original development pipeline.

Frequently Asked Questions

Yes — this conversion is inherently lossy. AIFF stores audio as uncompressed PCM (often 16-bit or 24-bit), while J2B uses MP3 encoding via libmp3lame at 128k bitrate by default. The encoding process permanently discards audio data that the MP3 psychoacoustic model deems less perceptible. For most music and sound effects at 128k, the degradation is subtle but measurable, and it is irreversible — you cannot reconstruct the original AIFF from the J2B output.
J2B is a game-specific format tied to Jazz Jackrabbit 2 and its ASYLUM Music Format heritage, so mainstream media players generally will not recognize it natively. The J2B file produced here is intended for use within the Jazz Jackrabbit 2 engine or compatible level editors and mod tools, not for general playback. If you need a broadly compatible output, consider converting the AIFF to MP3 directly instead.
Modify the -b:a flag in the command. For example, replacing -b:a 128k with -b:a 192k or -b:a 320k will produce a higher-quality MP3 stream inside the J2B container, at the cost of a larger file. Conversely, -b:a 64k reduces file size but introduces more audible compression artifacts. Supported values are 64k, 128k, 192k, 256k, and 320k.
No. AIFF can store metadata in its MARK and INST chunks (for loop points and sample information) as well as ID3-style tags, but J2B's container structure does not have equivalent metadata fields for this information. The libmp3lame encoder will encode the audio signal only — loop markers, artist tags, and any embedded artwork present in the AIFF source will be lost in the output J2B file.
The displayed command processes one file at a time, but you can script batch conversion in a shell. On Linux or macOS, use: for f in *.aiff; do ffmpeg -i "$f" -c:a libmp3lame -b:a 128k "${f%.aiff}.j2b"; done. On Windows Command Prompt, a for loop achieves the same result. This is particularly useful for converting an entire library of AIFF music tracks for a Jazz Jackrabbit 2 mod.
libmp3lame is the standard open-source LAME MP3 encoder and is the only audio codec supported within the J2B container as understood by FFmpeg and the Jazz Jackrabbit 2 engine. J2B's internal structure is built around MP3-encoded audio derived from the ASYLUM format, so substituting a different codec such as AAC or Vorbis would produce an incompatible file that the game cannot read.

Technical Notes

AIFF is a big-endian PCM container developed by Apple, commonly carrying pcm_s16be, pcm_s24be, or pcm_s32be audio streams at sample rates up to 192kHz. J2B is a narrow, game-specific format associated with Jazz Jackrabbit 2 (1998) and is essentially an ASYLUM Module Format payload with a 4-byte magic header and a simple checksum structure, with its audio encoded as MP3. Because FFmpeg's J2B muxer relies on libmp3lame exclusively, there is no lossless path from AIFF to J2B — the conversion always involves a lossy transcode step. The default 128k bitrate is a reasonable middle ground for game audio, but audiophiles preparing tracks for a high-fidelity mod may prefer 192k or 320k. File sizes will shrink dramatically compared to the AIFF source: a 50MB 16-bit stereo AIFF at 44.1kHz will compress to roughly 5–6MB at 128k. Channel configurations beyond stereo (e.g., mono AIFF sources) are handled by libmp3lame automatically, but surround or multi-channel AIFF files are not supported by the J2B output format. No subtitle, chapter, or secondary audio track data can be carried through this conversion, as neither format supports those features.

Related Tools