MOBI to EPUB Converter - AZW3, AZW and PRC avatar

MOBI to EPUB Converter - AZW3, AZW and PRC

Under maintenance

Pricing

Pay per usage

Go to Apify Store
MOBI to EPUB Converter - AZW3, AZW and PRC

MOBI to EPUB Converter - AZW3, AZW and PRC

Under maintenance

Convert MOBI to EPUB in seconds, along with AZW, AZW3 and PRC. Drop in one ebook or a whole shelf - up to 100 files a run, returned as a single ZIP. Amazon stopped delivering MOBI in 2022, so this puts old Kindle files back on Kobo, Apple Books, Nook or Send to Kindle. DRM-free only.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Marcel Rebro

Marcel Rebro

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Convert MOBI to EPUB online, along with DRM-free PRC, AZW and AZW3 files. Upload one ebook or a whole folder of them, or paste direct URLs, and get the EPUBs back. No calibre install, no account on some ebook forum, no desktop software.

Amazon retired MOBI: the Kindle Store stopped accepting it in 2021 and Send to Kindle stopped delivering it in August 2022. EPUB is what Amazon, Kobo and Apple Books all take now - Amazon converts it to its internal KFX format on delivery. So a .mobi file in your library is a book you can no longer send to your own Kindle until you convert it.

  • ๐Ÿ“š Converts the whole Kindle family - .mobi, .prc, .azw and .azw3, as long as they are DRM-free
  • ๐Ÿ“ฆ Converts a whole library in one run - up to 100 books at a time, returned as a single ZIP
  • โญ๏ธ A DRM-protected book does not stop the batch - it is skipped with a reason and the rest of the library still converts
  • ๐Ÿ“– EPUB 3 by default, EPUB 2 on request - EPUB 3 is what Send to Kindle, Kobo and Apple Books expect
  • โœ๏ธ Fixes the metadata on the way through - override a wrong title or author before the book reaches your library
  • โž Smartens punctuation - straight quotes, hyphens and ... become typographic quotes, dashes and ellipses
  • ๐Ÿ’ธ An ordinary novel costs a fraction of a cent
  • ๐Ÿ”Œ Runs from the API, a schedule or an integration - it is an Apify Actor, so Zapier, Make, n8n and MCP clients can call it

How to convert MOBI to EPUB

  1. Click Try for free and sign in to Apify.
  2. Upload your .mobi file in the Ebooks field, or paste a direct URL to it.
  3. Leave EPUB version on 3 unless you are targeting an old reader.
  4. Click Start.
  5. Download the EPUB from the Storage tab, or from the download URL in the run's dataset record.

How to convert AZW3 to EPUB

Identical steps with an .azw3 file. AZW3 (also called KF8) is the newer Kindle format and generally converts with better formatting than old MOBI does, because it carries real CSS rather than the HTML 3.2 subset MOBI was built on. .azw and .prc go through the same path.

How to convert a whole ebook library to EPUB

Upload the folder into the Ebooks field - up to 100 books, 200 MB of source files in one run - or pass an array of direct URLs in files. Every book is converted separately with the same settings, each EPUB is stored under its own filename, and the run's OUTPUT is a single epubs.zip holding all of them.

A mixed library is the normal case, so nothing in it is fatal on its own. A DRM-protected book, a .mov that ended up in the folder, a URL that returns an error page - each fails only itself, gets a dataset record saying why, and the run carries on. The log ends with how many books converted, how many failed and how many of those failures were DRM.

Two things worth knowing before starting a batch. A batch takes longer than the 300 second run-sync window, so call the asynchronous endpoint rather than waiting on the response. And a batch gives each book five minutes of conversion time out of 30 for the run, where a book converted on its own gets the full 15 minutes - so convert an omnibus of the Shakespeare kind on its own.

How to send a converted book to a Kindle

Convert to EPUB 3, then email the file to your Send to Kindle address or drop it into the Send to Kindle web page. Amazon converts EPUB to its own KFX format on delivery, which is why producing KFX here would be pointless.

Input

Upload the ebooks in the Ebooks field, or pass direct URLs to them.

FieldDescription
filesThe ebooks to convert. Uploads or URLs, up to 100 per run.
epubVersion3 (default) or 2. Applies to every book in the run.
outputFilenameNames a single converted book. Ignored in a batch, where each EPUB keeps its own filename.
bookTitle, bookAuthorsOverride the EPUB metadata. Separate authors with &. Single book only.
smartenPunctuationConvert quotes, dashes and ellipses to typographic equivalents.
fileOne ebook as a URL. An alias kept so callers written against the single-file input keep working.
fileBase64, filesBase64, filenameThe bytes as base64, for API callers who prefer JSON to a URL.
verboseLogInclude the full calibre log in the Actor log.

Output

One book: the EPUB is written to the run's key-value store under OUTPUT and under its own filename, so run-sync returns it in the response body and it is downloadable from the Storage tab.

Several books: each EPUB is stored under its own filename, and OUTPUT is epubs.zip holding all of them. Two folders that both contain a book.mobi do not overwrite each other - the second becomes book-2.epub. Past 192 MB of converted EPUBs the archive would have to be built in memory to be uploaded, so it is skipped and OUTPUT becomes a MANIFEST.json listing every record and its URL instead.

Either way the dataset holds one record per source file - title, author, source format, MOBI version, file sizes, conversion time and download URL, and for a book that failed, ok: false, the reason, and whether the reason was DRM.

How much does it cost to convert MOBI to EPUB?

BookSource sizeRun timeCost
Alice's Adventures in Wonderland190 kB25 s$0.0030
Frankenstein449 kB20 s$0.0024
Pride and Prejudice540 kB20 s$0.0024
Moby Dick936 kB38 s$0.0043
Complete Works of Shakespeare4.1 MB665 s$0.0740

Measured on real books from Project Gutenberg at 2048 MB; the dollar figures depend on your plan.

An ordinary novel costs a fraction of a cent, and Apify's free plan includes $5 of usage a month, so a personal library converts for nothing.

Is it cheaper to convert a whole library in one run?

Yes. Converting a novel takes 2 to 6 seconds inside a run lasting 20 to 38 seconds - the rest is container startup, paid once per run rather than once per book. A library converted one book per run pays that startup every time; the same library as one batch pays it once.

That saving is arithmetic from the table above rather than a measured batch run.

Large omnibus files

The exception. The Complete Works of Shakespeare took 632 seconds of conversion at 2048 MB, and at 1024 MB it did not finish inside the 15 minute timeout at all. Raise the memory for files that size, use the asynchronous endpoint (anything over 300 seconds outlasts run-sync), and give it a run of its own - it also outlasts the five minutes a batch allows each book.

How to convert MOBI to EPUB with the API

run-sync returns the EPUB in the response body:

curl -X POST \
"https://api.apify.com/v2/acts/marcel-rbro~mobi-to-epub/run-sync?token=<TOKEN>" \
-H 'Content-Type: application/json' \
-d '{"file": "https://example.com/book.mobi"}' \
--output book.epub

If you hold the bytes rather than a URL, pass them as base64 in fileBase64. The Apify API requires Actor input to be application/json, so posting the ebook as a raw request body is rejected with HTTP 400 before the run starts:

curl -X POST \
"https://api.apify.com/v2/acts/marcel-rbro~mobi-to-epub/run-sync?token=<TOKEN>" \
-H 'Content-Type: application/json' \
-d "{\"fileBase64\": \"$(base64 < book.mobi)\", \"filename\": \"book.mobi\"}" \
--output book.epub

Base64 adds about a third to the payload, so prefer a URL for large files.

For several books, pass files and call the asynchronous Run Actor endpoint - a batch takes longer than the 300 seconds run-sync waits, so run-sync would time out on the request while the run carried on converting:

curl -X POST \
"https://api.apify.com/v2/acts/marcel-rbro~mobi-to-epub/runs?token=<TOKEN>" \
-H 'Content-Type: application/json' \
-d '{"files": ["https://example.com/one.mobi", "https://example.com/two.azw3"]}'

That returns a run ID to poll. When the run finishes, OUTPUT in its key-value store is epubs.zip, and the dataset has a record per book.

run-sync waits up to 300 seconds. Use the asynchronous endpoint for anything larger. There are client libraries for JavaScript and Python, and the same run can be triggered on a schedule or from Zapier, Make, n8n, Slack or an MCP client.

Limitations

  • DRM-protected files cannot be converted. The encryption flag is read from the MOBI header, so the failure is a plain sentence rather than a calibre stack trace. Most .azw and .mobi files bought from Amazon are protected. In a batch the protected book is skipped and the rest of the library converts; on its own it fails the run. Removing that DRM is out of scope.
  • No KFX output. It requires Kindle Previewer, which Amazon ships for Windows and macOS only. Send the EPUB to your Kindle and let Amazon convert it.
  • Badly built MOBI files produce badly built EPUB files. Turn on verboseLog to see what calibre reports.
  • 100 books, 200 MB of source files and 100 MB per book in one run. Past any of those the run says which limit it hit and what to split. A library larger than that is several runs.
  • A batch gives each book five minutes and the whole run 30 minutes of conversion time. A book converted on its own keeps the full 15 minutes, which is why an omnibus belongs in a run of its own. Books left when the run's budget is gone are recorded as unconverted rather than silently dropped.
  • Batches need the asynchronous endpoint. Almost any batch runs longer than the 300 seconds run-sync waits for.

Other file converters

ActorConvertsUse it for
MOBI to EPUB converter (this one)MOBI, PRC, AZW, AZW3 โ†’ EPUBKindle ebooks
HEIC to JPG converterHEIC, HEIF, AVIF โ†’ JPEG, PNG, WebP, AVIF, TIFFiPhone photos, bursts and Live Photo stills
PNG to JPG converterPNG, JPG, JFIF, WebP, AVIF, BMP, TIFF, GIF โ†’ JPEG, PNG, WebP, AVIF, TIFF, BMPWeb and desktop image formats
PDF to JPG converterPDF โ†’ JPEG, PNG, WebP, TIFFTurning pages into images
JPG to PDF converterJPEG, PNG, WebP, TIFF, HEIC โ†’ PDFTurning images into a document
Word to PDF converterWord, Excel, PowerPoint, OpenDocument, RTF โ†’ PDFOffice documents
EPUB to PDF converterEPUB, AZW3, MOBI, FB2, CBZ โ†’ PDFEbooks for printing

FAQ

Is this MOBI to EPUB converter free?

Apify's free plan includes $5 of platform usage per month and needs no card. At a fraction of a cent per novel, that is more books than most people own.

Why convert MOBI to EPUB at all?

Because MOBI is retired. Amazon stopped accepting it in the Kindle Store in 2021, and Send to Kindle stopped delivering it in August 2022. Kobo, Apple Books, Google Play Books and most open readers never took MOBI in the first place. EPUB is the format all of them accept.

Can I convert a whole folder of ebooks at once?

Yes, and it is the cheaper way to use this Actor. Upload up to 100 files in the Ebooks field, or pass an array of URLs in files. Each book is converted separately, the EPUBs come back as one epubs.zip, and the dataset gets a record per book. Because most of a short run is container startup rather than conversion, a hundred books in one run costs a fraction of a hundred runs of one book. Use the asynchronous API endpoint: a batch outlasts the 300 second run-sync window.

Can I convert a Kindle book I bought from Amazon?

Only if it is DRM-free, which most purchases are not. The Actor reads the encryption flag in the MOBI header and reports it rather than producing a broken file. In a batch that is not fatal: the protected book gets a dataset record saying so, every other book in the folder still converts, and the log ends with how many of the failures were DRM - which is the number worth knowing when you point this at a mixed library. Stripping Amazon's DRM is out of scope for this Actor.

EPUB 2 or EPUB 3?

EPUB 3 unless you have a specific reason. It is what Send to Kindle, Kobo and Apple Books expect. Choose EPUB 2 for old hardware readers that predate the standard.

Will the formatting survive?

Mostly. AZW3 converts cleanly because it carries real CSS. Old MOBI is built on an HTML 3.2 subset, so complex layouts, tables and footnotes can come through simplified - the conversion cannot invent structure the source never had.

Does it keep the cover and the table of contents?

Yes. calibre carries the cover image and the navigation structure into the EPUB, and the run's dataset record reports the metadata it found.

Can an AI agent call this converter?

Yes. Every Apify Actor is exposed through the Apify MCP server, so Claude, Cursor and other MCP clients can run this conversion as a tool.

The conversion failed. What now?

Turn on verboseLog and re-run: the Actor log will carry calibre's own output. The common causes are a DRM-protected file, a URL that returns an HTML page rather than the ebook, and an omnibus large enough to hit the conversion timeout at low memory. In a batch, find the book in the dataset - each row carries its own error - rather than reading the whole log.

Development

npm install
npm test # MOBI header inspector, ZIP writer and batch bookkeeping, no calibre needed
apify run # needs calibre on your PATH

Conversion runs calibre's ebook-convert in a Debian container. This Actor's code is MIT licensed; calibre is GPL-3 and runs as a separate process - see THIRD_PARTY_NOTICES.md.