EPUB Format Checker

Upload an EPUB to pre-screen it for common structural issues before submitting to KDP or Apple Books.

Why this matters

A rejected EPUB submission often comes back with a terse error message and no clear next step, which can cost a day or more of back-and-forth before a book goes live. Checking for the most common structural problems — a missing cover, broken internal links, missing required metadata — before you submit catches a lot of that ahead of time.

Not exhaustive, not official. This checks a bounded set of well-known structural requirements (mimetype packaging, required metadata, broken manifest/spine references, missing cover, oversized images, EPUB3 nav) — it is not a replacement for EPUBCheck or the actual KDP/Apple Books validator, and passing here doesn't guarantee acceptance. Nothing is uploaded; parsing happens in your browser via JSZip and the DOM's built-in XML parser. See src/lib/epub-check.ts.

Below EPUB checker

How to use it

  1. Export your book as an EPUB from your writing/formatting tool.
  2. Upload it here — the check runs immediately, no waiting on a queue.
  3. Read through the report: anything marked "fail" is worth fixing before you submit; "warn" items are worth a look.
  4. If the only issue is mimetype packaging, download the normalized copy; otherwise fix the flagged issues in your source and re-export.

Example scenarios

Related guides

Frequently asked questions

Will passing this check guarantee KDP or Apple Books accepts my file?

No. This checks a bounded set of well-known structural issues, not the full official validator either platform uses. Treat a clean result as a good pre-screen, not a guarantee.

Is my manuscript uploaded anywhere?

No. Parsing happens entirely in your browser via JSZip and the DOM's built-in XML parser — there's no server upload endpoint in this tool's code.

What does the "download normalized copy" button actually fix?

Only the mimetype file's packaging (making sure it's the first entry in the archive, stored uncompressed, with the exact right content) — a common technical validity issue. It does not fix missing metadata, broken links, or a missing cover; those need changes in your EPUB source, since auto-fixing them would mean inventing content on your behalf.

Why does it flag a missing cover as critical?

No declared cover image is one of the most common reasons a submission gets kicked back by KDP and Apple Books — it's treated as a fail here rather than a warning because of how often it's the actual rejection reason.