Convert WebM to M4B — Free Online Tool
Convert WebM audio tracks to M4B audiobook format, encoding the Opus or Vorbis audio stream to AAC for full compatibility with Apple Books, podcast players, and audiobook apps that support chapter navigation and bookmarking. This tool strips any video stream from the WebM container and produces a lightweight, chapter-aware MPEG-4 audio file ready for long-form listening.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WebM 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
WebM files typically carry audio encoded in Opus or Vorbis — neither of which is natively supported by the M4B/MPEG-4 container. During this conversion, FFmpeg decodes the source audio stream and re-encodes it as AAC (Advanced Audio Coding) at 128kbps, which is the standard codec for M4B files. Any video stream present in the WebM file is discarded entirely, since M4B is a pure audio format. The resulting file is wrapped in an MPEG-4 container with the +faststart flag applied, which repositions metadata to the beginning of the file — enabling progressive playback and faster loading in audiobook players. If your WebM file already contains chapter markers, FFmpeg will attempt to carry those through to the M4B output, preserving navigation points that podcast and audiobook apps can read.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, which handles the decoding of the input WebM container (including its Opus or Vorbis audio stream) and the encoding pipeline that produces the M4B output. |
-i input.webm
|
Specifies the input WebM file. FFmpeg reads the Matroska-based container and identifies all available streams — including any VP9 video, Opus or Vorbis audio, and chapter metadata — before the output mapping and encoding options are applied. |
-c:a aac
|
Instructs FFmpeg to decode the source Opus or Vorbis audio and re-encode it as AAC, the only broadly supported audio codec for M4B files and the format required by Apple Books, iTunes, and most podcast/audiobook players. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which is the standard quality level for audiobook and podcast content — sufficient for clear, intelligible speech while keeping file sizes manageable for long-form audio. |
-movflags +faststart
|
Moves the MPEG-4 moov atom (which contains chapter markers, duration, and stream metadata) to the beginning of the M4B file, allowing audiobook players and podcast apps to read chapter structure and begin playback before the entire file is loaded. |
output.m4b
|
Defines the output filename and signals to FFmpeg that the result should be wrapped in an MPEG-4 container with the .m4b extension — the file type that audiobook applications recognize as a bookmarkable, chapter-navigable audio file rather than a generic audio track. |
Common Use Cases
- Converting a WebM recording of a lecture or talk into an M4B audiobook file so listeners can bookmark their place and resume from where they left off in Apple Books or Overcast
- Packaging a multi-chapter WebM audio narrative or serialized fiction into M4B format for distribution as an audiobook with built-in chapter navigation
- Stripping the video track from a WebM screen recording of a tutorial and producing an M4B audio version for podcast feed distribution
- Converting a WebM file exported from a browser-based recording tool into an M4B so it can be imported into iTunes or Apple Books for syncing to iPhone
- Transforming a WebM audio drama or long-form interview into an M4B with chapter support so listeners can skip between segments on their audiobook-capable device
- Re-encoding Opus-encoded WebM audio — which many podcast apps and audiobook players cannot natively play — into the universally supported AAC codec inside an M4B container
Frequently Asked Questions
WebM supports chapters via Matroska-style chapter metadata, and FFmpeg will attempt to map these into the M4B container during conversion. M4B natively supports chapters, so if your WebM file has well-formed chapter data, it should carry through to the output. However, WebM chapter formatting does not always map perfectly to MPEG-4 chapter atoms, so it is worth verifying the output in an audiobook player like Apple Books or a tool like mp4chaps after conversion.
Yes — this is a lossy-to-lossy transcode. Opus (used in most WebM files) is generally considered a more efficient codec than AAC at equivalent bitrates, meaning some quality degradation will occur when decoding Opus and re-encoding as AAC at 128kbps. For speech-heavy content like audiobooks and podcasts, the difference is typically inaudible at 128kbps. If you need higher fidelity, you can modify the -b:a flag in the FFmpeg command to use 192k or 256k instead.
M4B is a pure audio format — it does not support video streams. The conversion command intentionally omits any video mapping, so only the audio track is extracted and re-encoded. If your WebM file contains a video track you want to preserve, M4B is not the right output format; you would need a video container like MP4 or MKV instead.
Replace the value after -b:a in the command with your preferred bitrate. For example, change '-b:a 128k' to '-b:a 192k' or '-b:a 256k' for higher quality. For voice-only audiobook content, 64k or 96k AAC is often sufficient and will produce a significantly smaller file. The full modified command would look like: ffmpeg -i input.webm -c:a aac -b:a 192k -movflags +faststart output.m4b
The single-file command shown targets one input file at a time, but you can wrap it in a shell loop to batch process. On Linux or macOS, run: for f in *.webm; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.webm}.m4b"; done. On Windows PowerShell, use: Get-ChildItem *.webm | ForEach-Object { ffmpeg -i $_.Name -c:a aac -b:a 128k -movflags +faststart ($_.BaseName + '.m4b') }.
Apple Books and most dedicated audiobook players are built around the MPEG-4 ecosystem and only support AAC or MP3 audio in MP4-derived containers like M4A and M4B. WebM uses the Matroska container with Opus or Vorbis audio, which Apple's frameworks do not natively decode, and WebM has no concept of the bookmarking or chapter atom structures that audiobook apps depend on. Converting to M4B gives players the codec, container, and metadata structure they expect.
Technical Notes
The WebM-to-M4B conversion is fundamentally an audio transcode with a container change — there is no remuxing shortcut available because Opus and Vorbis cannot be stored in an MPEG-4 container. The AAC encoder used here is FFmpeg's built-in native AAC encoder, which produces compatible output for all major audiobook platforms. If you have access to the libfdk_aac encoder in your local FFmpeg build, substituting '-c:a libfdk_aac' will yield slightly better AAC quality at equivalent bitrates. The -movflags +faststart flag is particularly important for M4B files intended for streaming or podcast distribution, as it moves the moov atom to the front of the file so players can begin reading chapter and metadata information without downloading the entire file first. Note that M4B does not support multiple audio tracks, so if your WebM source has multiple audio streams (e.g., multiple language tracks), only the first audio stream will be encoded. ID3-style tags such as title, artist, and album can be added to the output M4B using FFmpeg's -metadata flag, which is useful for proper display in Apple Books or podcast clients. Any subtitle or caption tracks present in the WebM file will be silently dropped, as M4B has no subtitle support.