Convert WEBA to M4B — Free Online Tool

Convert WEBA audio files (WebM audio containers with Opus or Vorbis encoding) to M4B audiobook format, re-encoding the audio stream to AAC and packaging it in an MPEG-4 container with chapter and bookmarking support. Ideal for turning web-sourced audio into a format compatible with Apple Books, iTunes, and dedicated audiobook players.

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

WEBA files store audio in a WebM container, typically encoded with the Opus codec (or occasionally Vorbis), both of which are optimized for low-latency web streaming. M4B uses an MPEG-4 container and expects AAC audio. Since WebM and MPEG-4 are incompatible containers and Opus/Vorbis are incompatible codecs with M4B, a full audio transcode is required — the Opus or Vorbis stream is decoded to raw PCM and then re-encoded as AAC at 128k bitrate by default. The output file is also written with the -movflags +faststart optimization, which relocates the MOOV atom to the beginning of the file, enabling progressive playback. The M4B container also unlocks chapter markers and bookmarking metadata fields that WEBA does not support.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool, which handles all decoding, encoding, and container remuxing. In the browser-based version of this tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) with no server involved.
-i input.weba Specifies the input file — a WEBA audio file containing an Opus or Vorbis encoded audio stream inside a WebM container. FFmpeg automatically detects the container and codec from the file's headers.
-c:a aac Sets the audio encoder to AAC (Advanced Audio Coding), the required codec for M4B files. This triggers a full transcode of the Opus or Vorbis stream — it is decoded to raw PCM and then re-encoded as AAC, since the two codecs are not compatible and cannot be stream-copied.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level that balances file size and audio clarity. For audiobook or spoken-word content, this bitrate produces transparent quality; for music, you may want to increase this to 192k or 256k.
-movflags +faststart Moves the MOOV atom (the MPEG-4 metadata block) to the beginning of the output file after encoding is complete. This is essential for M4B audiobook files used in streaming or progressive-download contexts, allowing audiobook apps to begin playback before the full file is loaded.
output.m4b Specifies the output filename with the .m4b extension, which tells FFmpeg to write an MPEG-4 container and signals to audiobook-aware software like Apple Books and Overcast that the file supports chapter navigation and per-file bookmarking.

Common Use Cases

  • Converting a long-form podcast or lecture downloaded as a WEBA file into M4B so it can be imported into Apple Books or Overcast with bookmarking support
  • Transforming a series of WEBA audio recordings into M4B format to create a self-hosted audiobook compatible with audiobook players like Prologue or Bound
  • Re-packaging a WEBA audio recording of a course or seminar into M4B so chapter markers can be added for easy navigation between sections
  • Converting WEBA files exported from a browser-based audio editor into M4B for distribution on podcast platforms that require MPEG-4 audio formats
  • Archiving web-streamed audio content saved as WEBA into the more universally supported M4B format for long-term library management in iTunes or Music.app
  • Preparing a narrated ebook recording originally captured in WEBA format for submission to ACX or Findaway Voices, which expect AAC-based audio containers

Frequently Asked Questions

Yes, some quality loss is unavoidable because this conversion decodes a lossy Opus or Vorbis stream and re-encodes it as AAC — a process called generation loss. At the default 128k bitrate, AAC produces very good quality that is difficult to distinguish from the original for speech-heavy content like audiobooks. If your source WEBA was encoded at a higher bitrate (192k or 256k), consider increasing the -b:a value in the FFmpeg command to better preserve detail, though you cannot recover information already discarded during the original Opus/Vorbis encoding.
M4B fully supports chapter markers and bookmarking, which is the primary reason it is the standard format for audiobooks on Apple devices and apps like Overcast. However, WEBA files do not support chapters at all, so there are no chapter markers to transfer — the conversion will produce a valid M4B file, but you will need to add chapter metadata separately using a tool like mp4chaps or Podcast Chapters after the conversion is complete.
The -movflags +faststart flag moves the MOOV atom (the file's metadata index) from the end of the file to the beginning. For audiobook and podcast apps that stream or progressively load M4B files, this means playback can begin before the entire file is downloaded. Without it, some players must wait for the full file before starting. It adds no overhead to file size and is strongly recommended for any M4B intended for distribution or network playback.
Replace the 128k value in the -b:a 128k flag with your desired bitrate. For audiobooks and spoken word content, 64k or 96k AAC is often sufficient and produces smaller files. For music or high-fidelity recordings, use 192k or 256k. For example, to encode at 192k, use: ffmpeg -i input.weba -c:a aac -b:a 192k -movflags +faststart output.m4b. Note that AAC at 128k is already quite transparent for speech, so increasing the bitrate yields diminishing returns for voice recordings.
The single-file FFmpeg command shown on this page processes one file at a time, but you can adapt it for batch processing in a shell script. On Linux or macOS, use: for f in *.weba; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.weba}.m4b"; done. On Windows Command Prompt, use: for %f in (*.weba) do ffmpeg -i "%f" -c:a aac -b:a 128k -movflags +faststart "%~nf.m4b". This is especially useful when processing files over 1GB, which exceed the browser-based tool's limit.
FFmpeg will attempt to copy compatible metadata tags (such as title, artist, and album) from the WEBA container to the M4B container during conversion, mapping them to the equivalent MPEG-4 atoms. However, WebM metadata support is limited compared to MPEG-4, so some tags may not transfer perfectly or may be absent entirely if the source WEBA was not tagged. After conversion, it is good practice to verify and edit the M4B metadata using a tool like Mp3tag or iTunes before distributing the file.

Technical Notes

WEBA is a strict audio-only subset of the WebM container format, meaning it cannot carry video, subtitles, chapters, or multiple audio tracks — features that M4B's MPEG-4 container supports (with the exception of multiple audio tracks). The default audio codec in WEBA is Opus, which was engineered for variable-bitrate streaming at low latencies and excels at speech intelligibility even at bitrates as low as 32k. AAC, the default codec for M4B, is an older but universally supported codec with excellent compatibility across Apple devices, Android, car audio systems, and audiobook players. Because both Opus and AAC are lossy formats, transcoding between them always involves a decode-then-reencode cycle, and the quality of the output is bounded by the lower of the two encoding passes. File sizes at equivalent bitrates are generally comparable, though Opus can achieve similar perceived quality at slightly lower bitrates than AAC for speech content. The M4B file extension is functionally identical to M4A but signals to compatible software (Apple Books, Overcast, Plex, etc.) that the file is an audiobook, unlocking chapter navigation and per-file resume position bookmarking. The -movflags +faststart flag is particularly important for M4B files used in streaming contexts, as many audiobook apps fetch files over HTTP and benefit from the MOOV atom being at the file's start.

Related Tools