Convert FLAC to M4B — Free Online Tool
Convert FLAC lossless audio files to M4B audiobook format, encoding the audio as AAC at 128kbps — the standard codec for Apple Books, iPhone, and podcast players. M4B adds chapter markers and bookmarking support that FLAC cannot carry, making this conversion ideal for structuring long-form audio content.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your FLAC 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
FLAC stores audio in a lossless, compressed format using its own codec — every sample is preserved exactly as recorded. During this conversion, FFmpeg decodes the FLAC audio fully, then re-encodes it as AAC (Advanced Audio Coding) inside an MPEG-4 container with the .m4b extension. This is a full transcode, not a remux: the audio data is reconstructed from scratch as lossy AAC, which discards some audio information to achieve smaller file sizes. The -movflags +faststart flag reorganizes the MP4 metadata to the beginning of the file, which allows the audio to begin streaming before the entire file is downloaded — essential for podcast delivery and audiobook streaming services.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg application, the open-source multimedia processing engine that handles decoding the FLAC input and encoding the M4B output entirely within your browser via WebAssembly. |
-i input.flac
|
Specifies the input file — in this case, a FLAC lossless audio file. FFmpeg reads and fully decodes the FLAC-compressed audio stream to raw PCM before any re-encoding begins. |
-c:a aac
|
Sets the audio codec to AAC (Advanced Audio Coding), which is the required codec for M4B audiobook files compatible with Apple Books, iPhones, and most podcast players. This triggers a full re-encode from lossless FLAC to lossy AAC. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, the standard default for audiobook and podcast delivery. At this bitrate, AAC produces speech audio that is effectively indistinguishable from the lossless FLAC source while reducing file size substantially. |
-movflags +faststart
|
Moves the MP4 container's metadata (moov atom) to the beginning of the output file after encoding completes. This is essential for M4B files used in streaming or podcast feeds, as it allows playback to start before the full file is downloaded. |
output.m4b
|
Defines the output filename with the .m4b extension, which tells compatible players — including Apple Books and iPhone — to treat the file as a bookmarkable audiobook rather than standard music, enabling chapter navigation and playback position memory. |
Common Use Cases
- Converting a high-quality FLAC recording of a lecture or spoken-word performance into an M4B audiobook file that Apple Books can import with chapter navigation support
- Preparing a FLAC-encoded podcast master file for distribution on Apple Podcasts, where the AAC codec in M4B is natively supported by all Apple devices
- Reducing the file size of a large FLAC audiobook rip (which can be several hundred MB) to a more manageable M4B for storage on an iPhone with limited space
- Converting FLAC recordings of long-form interviews or educational content into M4B so listeners can resume playback from a bookmarked position on their device
- Packaging a FLAC music album or classical recording into M4B format so it can be loaded into audiobook apps that support per-track chapter markers
- Transcoding archival FLAC audio into a streaming-friendly M4B for delivery through a podcast CMS that requires AAC-encoded MPEG-4 audio
Frequently Asked Questions
Yes, there will be some quality reduction because AAC is a lossy codec while FLAC is lossless. However, for spoken-word content like audiobooks and podcasts, the default 128kbps AAC bitrate is widely considered transparent — meaning the difference from the FLAC original is essentially inaudible for voice audio. For music converted to M4B, audiophiles may prefer 192kbps or 256kbps to better preserve high-frequency detail. The FLAC source ensures you are encoding from a perfect original with no generation loss.
FFmpeg will attempt to map common FLAC Vorbis comment tags (such as TITLE, ARTIST, ALBUM, and DATE) to the equivalent ID3-style metadata atoms in the M4B container. Most standard tags transfer correctly. However, FLAC-specific metadata like ReplayGain tags and embedded cue sheets are not natively supported by the M4B format and will be dropped during conversion. You may want to verify and re-edit tags in an audiobook tag editor like Mp3tag or Chapters after conversion.
The M4B container supports chapters, but a single FLAC file does not carry chapter data, so no chapter markers will be embedded automatically by this command. To add chapters, you would need to either use an FFmpeg chapter metadata file (-i chapters.txt) combined with this command, or post-process the resulting M4B with a dedicated audiobook tool like Audiobook Builder or mp4chaps. The M4B format is specifically designed to hold this information once you supply it.
Both .m4b and .m4a are MPEG-4 audio containers using AAC encoding, and they are technically nearly identical. The .m4b extension signals to Apple devices and audiobook applications that the file is bookmarkable and should be treated as an audiobook or podcast rather than music. Apple Books, the iPhone Podcasts app, and most audiobook players use the .m4b extension to enable per-file playback position memory and chapter navigation, which .m4a files do not trigger on those platforms.
Replace the value after -b:a in the command to change the AAC bitrate. For example, use -b:a 64k for a very small file suitable for voice-only content, -b:a 192k for higher-quality spoken audio, or -b:a 256k if you are converting FLAC music to M4B and want to preserve more detail. The full adjusted command would look like: ffmpeg -i input.flac -c:a aac -b:a 192k -movflags +faststart output.m4b. Higher bitrates produce larger files but closer fidelity to your lossless FLAC source.
Yes. On Linux or macOS, you can use a shell loop: for f in *.flac; do ffmpeg -i "$f" -c:a aac -b:a 128k -movflags +faststart "${f%.flac}.m4b"; done. On Windows Command Prompt, use: for %f in (*.flac) do ffmpeg -i "%f" -c:a aac -b:a 128k -movflags +faststart "%~nf.m4b". This processes each FLAC file in the current directory and outputs a matching .m4b file, preserving the original filenames.
Technical Notes
FLAC files use lossless compression with a default compression level of 5 (on a 0–8 scale), which affects only encode/decode speed and file size — not audio quality. When converting to M4B, the FLAC audio is fully decoded to PCM internally by FFmpeg before being re-encoded as AAC using the native FFmpeg AAC encoder. The native AAC encoder performs well at 128kbps and above; for maximum AAC quality, advanced users can substitute -c:a libfdk_aac if a custom FFmpeg build with that library is available, though it is not included in most standard distributions. The -movflags +faststart flag is particularly important for M4B files intended for streaming or podcast distribution: it moves the moov atom (which contains all container metadata) from the end to the beginning of the file, so players can begin decoding immediately without downloading the entire file. FLAC features like ReplayGain normalization data and cue sheets are not transferable to the M4B container and will be silently discarded. The M4B format does not support multiple audio tracks, so if your FLAC source is part of a multi-track project, each file must be converted individually.