Convert WMA to J2B — Free Online Tool
Convert WMA (Windows Media Audio) files to J2B, the ASYLUM Music Format-based audio container used by Jazz Jackrabbit 2, by re-encoding the wmav2 audio stream through the LAME MP3 encoder. This tool runs entirely in your browser via FFmpeg.wasm — no upload required.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WMA file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
WMA files store audio using Microsoft's proprietary wmav2 (or wmav1) codec inside a Windows Media container. J2B is a game-specific audio format used by Jazz Jackrabbit 2, built on the ASYLUM Music Format wrapped in a custom header, and it encodes audio using MP3 (libmp3lame). Because wmav2 and libmp3lame are entirely different codec families, a full audio decode-and-reencode is required: the WMA audio is first fully decoded to raw PCM, then re-encoded as MP3 at the target bitrate and wrapped in the J2B container structure. Since both WMA and J2B are lossy formats, this is a lossy-to-lossy conversion, meaning some generation loss is unavoidable — audio quality will degrade slightly relative to the original source, even at high bitrates.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles all decoding, encoding, and container muxing. In the browser version, this runs as FFmpeg.wasm compiled to WebAssembly, with no server involvement. |
-i input.wma
|
Specifies the input file in WMA format. FFmpeg will detect whether the file uses the wmav2 or wmav1 codec and decode the audio stream to raw PCM in preparation for re-encoding. |
-c:a libmp3lame
|
Selects the LAME MP3 encoder to re-encode the decoded audio into the MP3 format required by the J2B container. This is mandatory because J2B's audio layer is MP3-based and cannot store wmav2 data directly. |
-b:a 128k
|
Sets the MP3 audio bitrate to 128 kilobits per second for the J2B output. This is the default balance point for game audio; increase to 320k for better fidelity or decrease to 64k to reduce file size for storage-constrained game mod packages. |
output.j2b
|
Defines the output filename and triggers FFmpeg to wrap the encoded MP3 audio in the J2B container format — the ASYLUM Music Format header structure expected by the Jazz Jackrabbit 2 game engine. |
Common Use Cases
- Modding Jazz Jackrabbit 2 to replace or add in-game music tracks sourced from WMA audio rips of Windows Media Player playlists
- Archiving or converting a WMA-format music collection for use in custom Jazz Jackrabbit 2 levels or fan-made episode packs
- Testing how a specific music track sounds inside the J2B format pipeline before committing it to a game mod build
- Generating J2B files from WMA recordings of original compositions for inclusion in JJ2+ or OpenJazz community content
- Converting old Windows Media Audio game soundtrack rips into the native J2B format for authentic retro game audio playback
Frequently Asked Questions
Yes, some quality loss is expected. Both WMA and J2B are lossy formats, so converting between them requires fully decoding the wmav2-encoded WMA audio to raw PCM and then re-encoding it as MP3 using libmp3lame. This double-lossy process introduces generation loss, similar to re-saving a JPEG repeatedly. To minimize the degradation, use the highest available bitrate (320k) if audio fidelity matters to you.
J2B is not a plain MP3 file. It uses the ASYLUM Music Format as its core audio data, wrapped in a simple proprietary header specific to the Jazz Jackrabbit 2 engine. FFmpeg handles the container wrapping automatically when you specify the .j2b output extension. The underlying audio codec used is libmp3lame (MP3), but the file will not play correctly in standard MP3 players due to the J2B header structure.
WMA files support rich metadata tags via the Windows Media container format. However, the J2B format is a minimal game audio container with no defined metadata tag structure, so any title, artist, or album information embedded in your WMA file will be dropped during conversion. If preserving metadata is important, keep the original WMA file alongside the converted J2B.
FFmpeg cannot decode DRM-protected WMA files, and this browser-based tool is subject to the same limitation. DRM-locked WMA files — commonly distributed through older Windows Media Player stores or subscription services — will fail to convert because the decryption key is not accessible to FFmpeg. You would need to use a DRM-removal workflow on a licensed playback machine before attempting conversion.
Modify the -b:a flag in the command to set a different target bitrate for the libmp3lame MP3 encoder. For example, replace -b:a 128k with -b:a 320k for higher quality, or -b:a 64k for a smaller file size. The J2B format supports 64k, 128k, 192k, 256k, and 320k as practical options. Keep in mind that since the source WMA is already lossy, going above the original WMA bitrate will increase file size without recovering lost audio detail.
The single-file command shown on this page can be adapted for batch processing on your desktop. On Linux or macOS, use a shell loop: for f in *.wma; do ffmpeg -i "$f" -c:a libmp3lame -b:a 128k "${f%.wma}.j2b"; done. On Windows Command Prompt: for %f in (*.wma) do ffmpeg -i "%f" -c:a libmp3lame -b:a 128k "%~nf.j2b". This is especially useful for converting full Jazz Jackrabbit 2 music track sets in one pass.
Technical Notes
WMA files most commonly use the wmav2 codec, though older files may use wmav1; FFmpeg auto-detects both. The J2B format's audio layer is MP3 encoded via libmp3lame, which means the conversion always involves a full transcode — there is no stream-copy shortcut available since wmav2 and MP3 are incompatible at the bitstream level. The default output bitrate of 128k is a reasonable midpoint for game audio, balancing file size against audible quality. Because J2B is designed for a specific game engine rather than general playback, features present in WMA such as streaming optimization, metadata tags, and DRM support are entirely unsupported in the output format and will be silently discarded. If your source WMA was encoded at a bitrate lower than your target J2B bitrate, the extra bitrate budget will not recover lost frequencies — the output quality ceiling is always bounded by the original WMA encoding.