How do you convert an M4B audiobook to MP3, and how long a book fits in one go?
Short answer: drag the .m4b file onto the drop box of the M4A to MP3 converter (its file picker lists only .m4a, so the book may not show up there), pick MP3, press Convert, then Download. In our tests a mono audiobook converted in one piece up to 101 minutes long; at 102 minutes and longer the page said "Your browser couldn't decode this file." A stereo book converted at 60 minutes, but it used 3,924 MB of memory to do it.
- Most books need splitting first. Cut the book into one-hour parts on a computer with
ffmpeg -i book.m4b -map 0:a -c copy -f segment -segment_time 3600 -reset_timestamps 1 part%02d.m4b, then convert the parts. Each one-hour mono part took 164 to 175 s. - Chapters are lost. Our books had a chapter mark every 10 minutes; every MP3 came out with none. Title, artist, album, album artist, year, genre and the cover were kept.
- A lower sample rate does not help. A 22.05 kHz mono book failed at the same length as a 44.1 kHz one, 102 minutes, because the page decodes everything to 44.1 or 48 kHz.
- The MP3 is bigger: 57.6 MB per hour at 128 kbps, the smallest setting. That is 3.11 times our 32 kbps test book and 1.58 times the 64 kbps one.
All test books were files we made ourselves without copy protection. We did not test purchased audiobooks.
How we tested
- Speech: a short story opening we wrote, read by the open-source eSpeak NG 1.50 synthesizer at 22.05 kHz and looped to length. Synthetic speech, so the numbers describe these files, not a narrated studio recording.
- Test books: made with FFmpeg 4.4.2 as .m4b files (MP4 container, brand "M4B ", AAC audio from FFmpeg's built-in encoder), each with a chapter mark every 10 minutes, seven text tags and a 600 × 600 JPEG cover. Three kinds: mono 22.05 kHz at 32 kbps nominal (40.5 kbps measured), mono 44.1 kHz at 64 kbps nominal (79.3 to 79.7 kbps), stereo 44.1 kHz at 96 kbps nominal (107.5 kbps). Lengths from 5 minutes to 4 hours.
- Browser: Chromium 153 driven by Playwright 1.63, opening a local copy of this site's M4A to MP3 converter on a 4-core server (Intel Xeon E5-2699 v4, 9,941 MB of memory, 3,014 to 4,159 MB free before each job). One fresh browser per file, MP3 at 128 kbps and 44.1 kHz. Memory is the peak of all Chromium processes, sampled every 200 ms. The page's own Download button saved each result, and FFprobe read back its length, tags, cover and chapters.
How long a book converts in one piece
| Test book | Length | Result | Time | Peak memory | MP3 |
|---|---|---|---|---|---|
| Mono 22.05 kHz, 32 kbps | 60:00 (18.5 MB) | done | 167.1 s | 1,700 MB | 57,603,323 bytes |
| Mono 22.05 kHz, 32 kbps | 90:00 (27.8 MB) | done | 265.1 s | 2,174 MB | 86,403,219 bytes |
| Mono 22.05 kHz, 32 kbps | 100:00 (30.9 MB) | done | 278.9 s | 2,453 MB | 96,003,323 bytes |
| Mono 22.05 kHz, 32 kbps | 101:00 | done | 281.8 s | 2,489 MB | 96,963,376 bytes |
| Mono 22.05 kHz, 32 kbps | 102:00 | "couldn't decode" | 7.3 s | 2,122 MB | none |
| Mono 22.05 kHz, 32 kbps | 120:00 (37.0 MB) | "couldn't decode" | 10.3 s | 2,398 MB | none |
| Mono 22.05 kHz, 32 kbps | 150:00 (46.4 MB) | "couldn't decode" | 11.3 s | 2,894 MB | none |
| Mono 22.05 kHz, 32 kbps | 180:00 (55.6 MB) | "couldn't decode" | 15.3 s | 3,106 MB | none |
| Mono 22.05 kHz, 32 kbps | 240:00 (74.2 MB) | "couldn't decode" | 17.2 s | 3,112 MB | none |
| Mono 44.1 kHz, 64 kbps | 60:00 (36.5 MB) | done | 175.4 s | 2,403 MB | 57,603,323 bytes |
| Stereo 44.1 kHz, 96 kbps | 30:00 (24.5 MB) | done | 196.3 s | 2,314 MB | 28,803,428 bytes |
| Stereo 44.1 kHz, 96 kbps | 45:00 (36.7 MB) | done | 291.7 s | 3,293 MB | 43,203,376 bytes |
| Stereo 44.1 kHz, 96 kbps | 60:00 (49.0 MB) | done | 387.2 s | 3,924 MB | 57,603,323 bytes |
The line falls between 101 and 102 minutes, and the refusals came quickly, without the tab crashing; the kernel log showed no process killed during these runs, so it was not the server running out of memory. It is the same boundary we found when opening mono 44.1 kHz files in the cutter (see how long a file an online MP3 cutter can open). We did not find it documented. For what it's worth, 228 samples at 44.1 kHz is 101.4 minutes, which sits between the two lengths; the 22.05 kHz book has only half that many samples at 102 minutes and still failed, which fits the page decoding every book at its output rate of 44.1 kHz.
Memory, not the limit, is what you hit first with stereo. The 60-minute stereo book peaked at 3,924 MB when the server had 3,917 MB free before the job started; it finished, but that was the closest any run came. Mono needs much less: 1,700 MB for an hour at 22.05 kHz and 2,403 MB at 44.1 kHz. A phone or a laptop with many tabs open has less to spare, so shorter parts are the safe choice there. Converting ran at about 2.8 to 2.9 s per minute of mono and 6.5 s per minute of stereo on this machine.
What happens to chapters, tags and the cover
| In the .m4b | In the MP3 |
|---|---|
| Chapter marks (1 to 11 per book) | none, in every MP3 |
| Title, artist, album, album artist, year, genre | kept, all six, in every MP3 |
| Cover image | kept when the .m4b had one |
| Mono or stereo | unchanged |
| Length 60:00.000 | 60:00.039 |
The converter copies tags and the cover into the MP3's ID3 tag, but it has no place for chapter marks, so a ten-chapter book becomes one long MP3 with no way to jump to chapter 4. If you need chapters as separate files, split the book at its chapter marks before converting. The MP3 is 39 ms longer than the book because MP3 encoding pads the start and the end to whole frames.
How the file gets in made no difference. The same 5-minute book dropped on the box, picked through the page's file input, and renamed from .m4b to .m4a gave three byte-identical MP3s of 4,803,376 bytes. Renaming a copy to .m4a is a way round a file picker that hides .m4b files; the drop in our test was a scripted drop event, not a mouse.
Splitting a longer book, and what the seams cost
We split the 3-hour mono book with the command in the short answer: -c copy cuts the AAC data without re-encoding, so nothing is decoded and no browser is needed. It gave three one-hour parts and a fourth part of 1,227 bytes holding just 1,024 samples (46 ms) of the end, which you can delete. All three parts converted, each in 164 to 175 s with a peak of 1,637 to 1,673 MB.
We then decoded the whole book and each part with FFmpeg and compared them sample by sample:
| Part | Starts at | First 1,024 samples (46 ms) | Next 5 s |
|---|---|---|---|
| 1 | the start, plus 1,024 extra samples of encoder lead-in | identical | identical |
| 2 | exactly where part 1 ends | 5.4 dB | 37.5 dB |
| 3 | exactly where part 2 ends | 13.0 dB | 40.8 dB |
Nothing is lost or repeated at the cuts, but the first 46 ms of parts 2 and 3 come out noticeably different from the unsplit book, most likely because the decoder starts each part cold, without the previous block of audio it would normally blend into. After that the parts track the book closely but not bit for bit. Part 1 matches exactly. Our split command copied the audio only, so the parts had no chapters and no cover, but the six text tags came through to the MP3s. Each MP3 then adds its own encoder padding at the start; if you plan to join the MP3s back into one file, see why joined MP3 files have gaps.
One display quirk: the converter listed and finished part 3 as "59:60.0" instead of "60:00.0". The MP3 itself was 60:00.013 long.
Step by step
- Check the length of the book. Mono and up to 100 minutes: go straight to step 3. Longer, or stereo and over 45 minutes: split it first.
- To split, on a computer with FFmpeg:
ffmpeg -i book.m4b -map 0:a -c copy -f segment -segment_time 3600 -reset_timestamps 1 part%02d.m4b. Use 1800 instead of 3600 for 30-minute parts on a device with less memory. - Open the M4A to MP3 converter and drag the .m4b file or files onto the box. Several files convert one after another.
- Choose MP3 and 44.1 kHz; 128 kbps gives the smallest file. Press Convert, wait for each row to say done, and press Download.
The audio cutter also lists .m4b in its file picker, but it does not copy tags into the MP3; use it when you only want a passage, such as one chapter.
Questions
Why does a long M4B say "couldn't decode" when a short one works?
In our tests the message appeared for every mono book of 102 minutes or more and for none of 101 minutes or less, whatever the file's sample rate or size in MB. Split the book into parts of an hour and each part converts.
Does converting an audiobook to MP3 make it bigger?
Usually, because 128 kbps is the lowest MP3 setting: an hour comes out at 57.6 MB (57,603,323 bytes) in mono or stereo. Our 32 kbps book grew 3.11 times, the 64 kbps one 1.58 times, the 96 kbps stereo one 1.18 times.
Will a book bought from a store work?
We don't know. We tested only books we made ourselves, without copy protection.