PDFSwift › EPUB tools › EPUB Validator
✔ EPUBFree · runs in your browserEPUB Validator: Check an EPUB File’s Structure
Check an EPUB 2 or EPUB 3 file against the structural rules that make books open reliably: archive layout, container, package metadata, manifest, reading order, navigation and internal links.
Drop an EPUB here
or choose a file from your device
What this tool does
Most EPUB problems are structural. A file refuses to open because the mimetype entry is not first, a chapter is listed in the manifest but missing from the archive, the language is blank, or the table of contents points at a file that was renamed. These are exactly the defects this validator is built to find and explain in plain language.
The check covers the container (the mimetype entry’s content, position and compression, META-INF/container.xml), the package document (version, required dc:title, dc:language and dc:identifier, unique-identifier link, EPUB 3 modification date), the manifest (ids, hrefs, media types, files present, image types), the spine (references and content types), navigation (EPUB 3 nav document or EPUB 2 NCX, and where its links lead), and content documents (well-formed XML, undeclared HTML entities, missing resources, scripts).
This is a structural check, not a full conformance run. It does not parse CSS, check accessibility metadata or verify every rule in the EPUB specification. The project’s tools were tested against the W3C EPUBCheck program, but for formal certification, for example before submitting to a retailer, you should run EPUBCheck itself.
How to use this tool
- Choose an EPUB with the file picker or drag it onto the page.
- Press Validate EPUB. There are no options.
- Read the verdict and the counts of errors, warnings and notices. Each row gives a code, a description and the file concerned.
- Press Download report (JSON) if you want to keep or share the findings.
- If errors are listed, open the EPUB Repair tool, which fixes the safe, mechanical ones and shows exactly what it changed.
Supported formats and limitations
- Versions: EPUB 2.0.x and EPUB 3.x.
- Severity: errors break the structural rules; warnings are things readers may tolerate (remote resources, files not in the manifest); notices are informational.
- Checks: about 40 rules, each with a stable code you can search for.
- Not covered: CSS validity, accessibility metadata, media overlays, every content-model rule of XHTML. Use W3C EPUBCheck for formal conformance.
- Input: EPUB 2 and EPUB 3 files (
.epub), up to 100 MB. Anything else is rejected before processing. - Archive safety: files with unsafe paths (such as
../), duplicate entries, more than 8,000 entries or an expanded size above 500 MB are refused. - Not supported: DRM-protected books and books with encrypted or font-obfuscated resources (
META-INF/encryption.xml) can be opened for inspection but cannot be converted or merged. - Memory: the whole book is held in your browser’s memory. Very large illustrated books may fail on a phone; a desktop browser has far more headroom.
Privacy and safety
This tool runs entirely in your browser. When you choose a file it is read by JavaScript on this page; it is not uploaded to PDFSwift or to any other server, and the result is created on your device and handed to you as a download. Closing or reloading the tab discards the book from memory.
The page shows advertising supplied by a third party. Advertising scripts run separately from the tool and never receive your book. If you prefer, you can disconnect from the internet after the page has loaded and the tool will still work.
Frequently asked questions
What does an EPUB validator check?
This one checks the archive layout, container, package metadata, manifest, spine, navigation and internal links, and whether content documents are well-formed XML.
Is this the same as EPUBCheck?
No. EPUBCheck is the W3C reference tool and checks many more rules. This validator is a fast structural check you can run without installing anything.
Is the file uploaded?
No. Validation runs in your browser.
What does “mimetype must be first” mean?
An EPUB’s first archive entry must be an uncompressed file named mimetype containing application/epub+zip. Some tools that re-zip books break this rule; strict readers then refuse the file.
Do warnings matter?
Often not for reading, but they point at things that may cause trouble in some apps, such as files missing from the manifest or remote images that need a connection.
The validator says valid but my app rejects the book. Why?
Apps have their own requirements, such as size limits or unsupported CSS. Check the app’s documentation and try EPUBCheck for deeper rules.
How do I fix the errors?
The Repair tool automates the safe fixes. Others, such as malformed XHTML, need the book to be edited in a tool that handles the content.