Validate
EPUB Validator
Upload an EPUB to check its structure against the EPUB specification. The validator checks the mimetype, META-INF/container.xml, OPF package file, manifest, spine, table of contents, cover image, and all referenced files. It reports errors, warnings, and suggestions so you can fix issues before publishing.
Input formats
Output formats
Common uses
- Check an EPUB before uploading to Kindle, Apple Books, or Kobo
- Diagnose EPUB errors reported by reading apps
- Verify an EPUB created from a Word document or Markdown
- Check a client's EPUB before editing or formatting
Limitations
- This is a structural validator, not a full epubcheck replacement. For publishing, use the official epubcheck tool.
- DRM-protected files may show false errors because encrypted content cannot be read.
- CSS validation and advanced accessibility checks are not included.
Your e-book files, handled privately
This tool runs entirely in your browser. On this site, your files are not uploaded to a server. This tool does not remove DRM or bypass copyright protection. Only upload files you own or have permission to process.
Catching EPUB faults before a store rejects them
The EPUB Validator inspects the internal structure of an .epub file against the parts of the EPUB specification that most often cause books to be rejected or to render incorrectly. It opens the archive, locates the mimetype declaration and META-INF/container.xml, parses the OPF package, and walks the manifest, spine, table of contents, cover reference, and Dublin Core metadata. It then reports each finding as an error, a warning, or a passing check.
The realistic audience is anyone preparing an EPUB for an e-reader or a storefront. Self-publishers running a final check before uploading to Kindle, Apple Books, or Kobo, editors and formatters vetting a client's file before they start work, and authors who exported from Word, Markdown, or a conversion tool and want to confirm the result is well-formed all fit cleanly.
It is equally useful for diagnosis after the fact. If a reading app shows a blank cover, refuses to open a book, or skips chapters, running the file here surfaces the structural cause, such as a missing OPF, an empty spine, or referenced files that do not exist inside the archive.
Dropping a file and reading the report
The flow is a single step. Drop or select one .epub file and it is parsed entirely in your browser. Nothing is uploaded and nothing persists once the tab closes. The result is a pass or fail summary, a structure panel listing each check (mimetype, container.xml, OPF, manifest, spine, table of contents, cover, and title, author, and language metadata) marked Pass or Fail, and an itemized issues list with severity and location. A plain-text report can be downloaded for your records.
Checks include whether the mimetype file is present and correct, whether both a navigation document and an NCX are found, whether the cover image is referenced, and whether files named in the manifest and table of contents actually exist in the archive. Missing-file errors are capped after the first several entries so a badly broken book does not flood the list.
It does not do everything. It is a structural validator, not a full epubcheck replacement, so it will not catch every schema-level issue the official W3C tool flags. CSS validation, advanced accessibility auditing, and external URL checking are out of scope, and DRM-protected files are detected and declined because their encrypted contents cannot be read.
Where it falls short and what trips people up
The most common misunderstanding is treating a pass as a publishing guarantee. A structurally valid EPUB can still be refused by a specific store that imposes requirements beyond the specification, such as exact cover dimensions or font-embedding rules. For those, the platform-specific Kindle, Apple Books, or Kobo checkers are the right next step, and the official epubcheck remains the authority for full conformance.
Scope limits cause the other surprises. Because external links are never fetched, a book can pass here yet contain dead web URLs, and because CSS and deep accessibility are not examined, visual or screen-reader problems will not appear. A file flagged as DRM-protected is not necessarily broken; it simply cannot be inspected.
Input mistakes matter too. The tool expects a genuine .epub archive, so a renamed file, a .zip that was never assembled as an EPUB, or a partially exported book may fail to parse or produce errors that reflect the packaging rather than the manuscript itself.
Confirming the result is trustworthy
Start with the structure panel and read every Fail line, since those map directly to the spec parts that stop books from opening. Confirm the mimetype and container.xml pass, that an OPF was found, that the spine and manifest are populated, and that a table of contents and cover are present. Then scan the issues list and resolve errors first, treating warnings as polish.
Check that the title, author, and language metadata read as you expect, and if missing files are reported, open the EPUB archive and confirm those paths against the manifest before assuming the tool is wrong. Re-run after each fix so you can see the count fall to zero rather than guessing.
For any official, contractual, or commercially distributed title, treat this as a first-pass screen and verify independently. Run the file through the official epubcheck and the relevant storefront's own upload preview before submission, because a clean report here covers structure, not a publisher's complete acceptance criteria.
Frequently asked questions
epubcheck is the official open-source EPUB validation tool from the W3C. This tool performs a subset of the same checks in your browser without requiring a Java installation.
Some reading apps have requirements beyond the EPUB specification, such as specific cover image sizes, font embedding restrictions, or chapter structure expectations. Use the Kindle EPUB Checker or Apple Books Checker for platform-specific issues.
Every EPUB must contain a file named 'mimetype' as the first file in the ZIP, containing the text 'application/epub+zip'. This file identifies the archive as an EPUB to reading apps.
Related tools
Tool last reviewed: June 30, 2026 · Report a problem