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.
How to use it
- Export your book as an EPUB from your writing/formatting tool.
- Upload it here — the check runs immediately, no waiting on a queue.
- Read through the report: anything marked "fail" is worth fixing before you submit; "warn" items are worth a look.
- If the only issue is mimetype packaging, download the normalized copy; otherwise fix the flagged issues in your source and re-export.
Example scenarios
- A self-published author exports from their word processor, runs the check, and finds their EPUB has no declared cover image — a fix they make in five minutes instead of finding out from a KDP rejection email a day later.
- Someone converting a manuscript with a script finds several manifest entries pointing at files that don't actually exist in the archive — a packaging bug in their export process they'd otherwise only discover after upload.
Related guides
- Why your EPUB cover gets rejected — How a cover has to be declared in the manifest, not just present as a file, and how that breaks.
- EPUB submission checklist — The structural issues that most often get an EPUB bounced back from KDP or Apple Books.
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.