Voxbound / Guides / What is an M4B file

What is an M4B file? How to play it, and what to do if it won't

An M4B is an audiobook in an MPEG-4 container, usually with AAC audio, that can hold chapters, a cover and tags. VLC 3.0.23 played one in our test on Windows, Six Colors (August 2025) found that Apple Books on a Mac treats an .m4b as an audiobook, and Audiobookshelf's source code lists m4b as a supported type; if a player lists .m4a files but not .m4b, a copy named .m4a may open. If one won't play, one command shows whether the file can be read, and Voxbound's Repair & verify tab checks it too and can rewrite it around its audio.

Free to try: Voxbound makes one complete book before you pay.

Updated 29 September 2026. The commands on this page are tested as printed with FFmpeg 8.1 in Windows PowerShell, and the Voxbound steps describe version 4.3.0. Each claim about a player says what it rests on: our own test, or a source we link.

What an M4B file is

An M4B is an MPEG-4 container, the same kind as an M4A, with audio that is usually AAC. The official list of MP4 file types, kept by the MP4 registration authority, describes M4B as "iTunes AudioBook", "protected or not", and able to contain a chapter track. The container can also hold a cover picture and tags such as the title, author and narrator. What players do with the .m4b name, and how it differs from .m4a, is covered in our guide to M4B, M4A and MP3.

To see what a file holds, run this in Windows PowerShell with FFmpeg installed; our MP3 to M4B guide shows how to install it. Use your file's name in place of book.m4b:

ffprobe -v error -show_entries format=format_name,duration:stream=codec_type,codec_name -show_chapters -of compact "book.m4b"

For a two-minute book with three chapters and a cover, it prints:

stream|codec_name=aac|codec_type=audio
stream|codec_name=bin_data|codec_type=data
stream|codec_name=mjpeg|codec_type=video
chapter|id=0|time_base=1/1000|start=0|start_time=0.000000|end=30000|end_time=30.000000|tag:title=Opening
chapter|id=1|time_base=1/1000|start=30000|start_time=30.000000|end=60000|end_time=60.000000|tag:title=Middle
chapter|id=2|time_base=1/1000|start=60000|start_time=60.000000|end=120000|end_time=120.000000|tag:title=End
format|format_name=mov,mp4,m4a,3gp,3g2,mj2|duration=120.000000

The audio line with aac is the book itself. mjpeg is the cover, and bin_data is the chapter track. mov,mp4,m4a,3gp,3g2,mj2 is ffprobe's name for the QuickTime and MPEG-4 family of containers. Each chapter line is one chapter.

An M4B has an index, which tells a player where each part of the audio is. A file written by FFmpeg without -movflags +faststart keeps its index at the end, and one written with it, as Voxbound and the commands on these pages do, keeps it at the front. A file can't be read without its index. FFmpeg's error messages call it the moov atom.

How to play an M4B

Each player below comes with what the claim rests on: our own test, or a source we link. Other players may open M4B files; look for M4B, or for M4A, in their own lists.

On Windows

VLC opens M4B files: in a test on Windows 11, VLC 3.0.23 opened and played an .m4b made with FFmpeg.

For Microsoft's players we have less. Microsoft's list of file types for Windows Media Player names .m4a and .aac and doesn't mention .m4b. We didn't test Windows Media Player, the Media Player app or Movies & TV. In one test on Windows 11, with the media component that .NET programs use, it read the length of a book named .m4a but not of the identical file named .m4b. If a Windows app won't open your .m4b, make an .m4a copy and open that:

Copy-Item "book.m4b" "book.m4a"

Nothing inside the file changes, so the copy plays the same audio; a player that goes by the extension may list it as ordinary audio rather than an audiobook. Audiobookshelf, described below, has a web client that you open in a browser.

On a Mac

In Books, choose File, then Import, as Apple's import guide explains. That guide names MP3 and Audible audiobooks and doesn't mention M4B. Glenn Fleishman, writing in Six Colors in August 2025, found that Books on a Mac treated an .m4b as an audiobook with chapters, and the same file named .m4a as plain audio. We didn't test Books.

On an iPhone or iPad

Books on an iPhone or iPad gets audiobooks you add yourself from a Mac. Apple's guide to syncing audiobooks describes the Sync audiobooks onto option in Finder, and Six Colors, linked above, describes syncing from a Mac as the way in. The other route is a player that reads from your own server: Prologue is an audiobook player for iPhone, iPad and Apple Watch that plays from Plex and Audiobookshelf. Its pages don't list file formats, so this page can't say which it opens.

On Android

The Audiobookshelf app for Android plays the books on your Audiobookshelf server; its project page links it on Google Play. We haven't checked any other Android player against its own documentation, so we don't list one.

On Audiobookshelf and Plex

Audiobookshelf's source code lists m4b first among the audio file types it supports, and it reads a book's chapters with ffprobe. Its project page describes a web client, a Progressive Web App, that you open in a browser. We haven't run it. Our guide to the best M4B settings for each player covers what it and Prologue read from the file. We found no Plex documentation that says how Plex treats an M4B, so this page doesn't say.

If an M4B won't play

Work through these in order. The first two commands read the file and change nothing.

1. Check that the file reads

Run the check above. What it prints tells you where the trouble is:

What the check prints, and what it means
You seeIt meansWhat to do
moov atom not found and Invalid data found when processing inputThe container has no index, or the file isn't an MPEG-4 container. A download or copy that stopped early does this when the index is at the end of the file.Get the file again. In our tests neither FFmpeg nor Voxbound could open or rebuild one.
format_name=mp3, or any name that doesn't start with mov,mp4The file isn't an M4B, whatever it's called. Voxbound reports this as File is a … container, not m4b (wrong extension?).Rename it to what it is, .mp3 for mp3.
An audio line with aac, a duration, and the chapters you expectThe container can be read. A file cut short whose index is at the front reads like this too, with its full duration and chapters.Test the audio, next.

2. Test that the audio decodes

This decodes the whole book without playing it and prints only problems:

ffmpeg -v error -i "book.m4b" -map 0:a -f null -

No output means every part of the audio decoded. Lines such as Error submitting packet to decoder: Invalid data found when processing input mean the audio is damaged, and partial file means the file was cut short. This is the check that finds a cut-short file whose index is at the front. It reads the whole file, so a long book takes a while.

3. Try it under another name

If the check and the audio are fine, the player may not list .m4b files. Open an .m4a copy, made with the Copy-Item command in the Windows section. Our M4B, M4A and MP3 guide explains when this is enough and when it isn't.

4. Rewrite the container around the audio

If chapters show in some players and not others, or a player refuses a file whose audio decodes, rewrite the container. This copies the audio, the tags, the cover and the chapters the file has into a new file without re-encoding, and writes the chapters in both formats players read:

ffmpeg -i "book.m4b" -map 0:a -map 0:v? -c copy -disposition:v attached_pic -movflags +faststart "book-fixed.m4b"

It adds no chapters and doesn't reorder a broken list, and it leaves the audio as it is, so it can't make damaged audio play or open a file that was cut short. Our guide to chapters that are only in one of the two formats shows the case it fixes. For chapters that are out of order, use Voxbound's Repair, described next, which puts them in order. Check that book-fixed.m4b plays before you replace the original. To change a book's chapters on purpose, see how to add or edit chapters without re-encoding.

Repair and verify in Voxbound

Voxbound's Repair & verify tab covers the same two jobs without commands, on an M4B or an M4A, with the limits below.

  1. Under Verify a file, click Choose file…, pick Generic M4B under Profile unless you're checking against a player's profile, and click Run verification. It reads the file and changes nothing.
  2. The result says Passes or lists the issues, above a table of the container, codec, bitrate, sample rate, channels, duration, chapters, size, title tag and cover. It checks that the file is the type its extension says, that it has audio and isn't empty, that the audio is the codec the profile expects (AAC for every M4B profile, Generic M4B included, so an Apple Lossless M4B fails), and that the audio decodes. It decodes 8 seconds at six points from the start to the end of the book, so it can miss a file cut short whose index is at the front. The decode command above reads all of the audio, so it is the thorough check.
  3. Under Repair a file, click Choose file… and then Repair…, and choose where to save the result. Repair always writes a new file, named …_repaired.m4b (…_repaired.m4a for an M4A) unless you change the name, and never changes the original. If you choose the original's own name, Repair fails, with FFmpeg's message that it cannot edit existing files in-place, and leaves the file as it was.

Repair copies the audio without re-encoding and keeps the tags and the cover. It keeps the book's chapters, puts them in time order and removes any that are empty, unless Use the chapter list from the Chapters tab, if there is one is on and that tab holds a list, which then replaces them. A video track, if the file has one, is left out. What each message from the check means is in the help. Repair isn't part of the free trial; it needs a licence key.

What can't be fixed

If the file is fine and you want an MP3 for a player that can't open M4B at all, our guide to converting an M4B to MP3 shows how.

Questions

Short answers about M4B files.

What is an M4B file?

An audiobook in an MPEG-4 container, usually with AAC audio. It can hold chapters, a cover and tags, and players that go by the .m4b extension treat it as an audiobook.

What plays M4B files?

VLC 3.0.23 played an .m4b in our test on Windows. Six Colors (August 2025) found that Apple Books on a Mac treats an .m4b as an audiobook, and Audiobookshelf's source code lists m4b among the audio types it supports. A player that opens .m4a but not .m4b may open a copy named .m4a.

How do I open an M4B file on Windows?

Open it in VLC, which played an .m4b in our test, or play it from an Audiobookshelf server in a browser. If a Windows app won't open the .m4b, copy it to a file ending in .m4a with Copy-Item and open that.

How do I play an M4B on an iPhone?

Add it to Books on a Mac, then sync audiobooks to the iPhone in Finder. Or use a player that reads from your own server: Prologue plays audiobooks from Plex and Audiobookshelf, though it doesn't list the file formats it opens.

Can I add an M4B to Apple Books?

On a Mac, choose File, then Import, in Books. Apple's guide names MP3 and Audible audiobooks and not M4B, but Six Colors found that Books on a Mac treated an .m4b as an audiobook with chapters.

Why is my M4B file not playing?

Run ffprobe on it. If it reports moov atom not found, the file has no index, which happens when a download stopped early, and it needs to be downloaded again. If it reads fine, run the decode command: decoder errors or the words partial file mean damaged audio or a file cut short. If both are clean, try an .m4a copy, or rewrite the container with FFmpeg or Voxbound's Repair. Copy-protected files, damaged audio and cut-short files can't be fixed.

Check and repair a book you already have

Voxbound verifies an M4B against your player's profile and rewrites it around its audio, with its tags, cover and chapters kept.

Buy Voxbound Try one book free