EPUB validator online
Drop an EPUB to find the problems that make KDP, Apple Books, Kobo or Google Play Books reject it — broken links, a misplaced mimetype, missing metadata, files left out of the manifest, malformed XHTML. Every finding comes with the file, the line and how to fix it. No Java, no install, no upload.
EPUB 2 and EPUB 3, DRM-free
| Level | File:line · problem and how to fix |
|---|
Files in this EPUB (0)
What it checks
- Container —
mimetypeis the first file, uncompressed, without a ZIP extra field and contains exactlyapplication/epub+zip;META-INF/container.xmlexists and points to the package document (OPF). - Package document (OPF) — well-formed XML, version 2.0 or 3.x,
dc:identifiermatchingunique-identifier,dc:title,dc:language, and in EPUB 3 a correctly formatteddcterms:modified. - Manifest — every item exists in the ZIP (exact case, %20 decoded), no duplicate ids or files, media types that match the extension and the real image format, and no stray files left out of the manifest (such as
.DS_Store). - Spine and navigation — the spine is not empty and refers to real items; EPUB 2 has an NCX table of contents; EPUB 3 has a navigation document with a
tocnav; a cover image is declared. - Content documents — XHTML is well-formed (with the line of the first error), HTML entities such as
that XHTML does not define, links, images and stylesheets that point to missing files or missing#ids, duplicate ids, missingsvg/scripted/mathmlproperties, and resources loaded from the internet. - Files and images — names with spaces or non-ASCII characters, names that differ only in case, non-UTF-8 text, and very large images (over 4 million pixels or 5 MB), read from the file headers.
This is not the official EPUBCheck
The official validator, W3C EPUBCheck, is a Java program with hundreds of rules, including full schema validation. This page runs a practical subset of the checks that most often cause rejections, so you can find and fix them quickly on any device. A clean result here does not guarantee a clean result there: before final submission, run the official EPUBCheck (search for “W3C EPUBCheck”) or the validator built into your store's upload page.
Common fixes
“mimetype” is not first or is compressed
This happens when you zip the book folder with Finder, Explorer or a plain zip command. Use the Download fixed EPUB button that appears after the check, or zip it yourself: zip -X0 book.epub mimetype and then zip -Xr9D book.epub META-INF OEBPS.
File not found / case differs
Paths inside an EPUB are case-sensitive. Images/Cover.JPG and images/cover.jpg are different files, even though Windows treats them as the same. Make the href match the file name exactly.
Entity “nbsp” not defined
EPUB 3 pages are XML, which knows only &, <, >, " and '. Replace with   (or the character itself), and the same for ©, — and so on.
Questions
Is my book uploaded?
No. The EPUB is unzipped and checked by JavaScript in this tab. You can disconnect from the internet after the page loads and it still works.
Does it check DRM-protected books?
No. Encrypted files cannot be read. Check the DRM-free file you upload to the store.
Does the fix button change anything else?
No. It writes the same files again with mimetype first and uncompressed. Your text, images and styles are copied byte for byte.
Can it check Kindle files (MOBI, AZW3, KPF)?
No, only EPUB. KDP accepts EPUB uploads directly, so checking the EPUB before you upload is the useful step.