The error message a store shows you is usually vague. Sometimes it says no more than "there is a problem with your file".
So the first thing to do is run it through a validator called EPUBCheck. It is the official tool distributed by the W3C and it is free. There are also services that run it online.
The tool tells you exactly which file, which line, and what is wrong. That gets you to the cause far faster than a store’s error message.
If EPUBCheck is clean and the store still rejects the file, it is probably not a matter of the EPUB specification but of a requirement specific to that store. See the section further down.
If you are making EPUBs on your own, the errors you run into are fairly predictable.
Inside an EPUB there is a small file called mimetype , and the rule is that it must be stored first in the ZIP, uncompressed.
Zipping a folder with an ordinary compression tool does not meet that condition. It is the most common problem when an EPUB has been assembled by hand.
Every file in an EPUB has to be registered in the <manifest> of content.opf .
You added an image and forgot to register it, or a registered file no longer exists — either mismatch produces an error.
EPUB 3 requires the following.
•dc:title (the title)
•dc:language (language; ja for Japanese)
•dc:identifier (identifier)
•dcterms:modified (last modified)
A link in the table of contents (nav.xhtml) points at a file that is not there. It happens when you delete a chapter and forget to update the contents.
The body of an EPUB is written in XHTML, which is stricter than ordinary HTML. An unclosed tag, or writing <br> (it must be <br />), produces an error.
This tends to happen when HTML tags have been typed straight into the manuscript.
If EPUBCheck reports zero errors and the store still refuses the file, it is a store requirement rather than the specification.
Each store’s submission requirements get updated from time to time. Always confirm the current ones in that store’s own help pages.
Third-party summaries, this article included, may be out of date. Searching the store’s help for the exact wording of the error message is the most reliable route.
Amazon converts the EPUB it takes in to its own format. Problems can appear at that conversion step, so checking in Kindle Previewer before submitting narrows the cause down faster.
If Previewer opens it but the submission is refused, the problem is more likely your registration details or the review than the file itself.
EPUBCheck writes in English, but once you know the shape it is not hard.
| Label | Meaning |
|---|---|
| FATAL | Fatal. The file does not hold together at all |
| ERROR | Breaks the specification. Must be fixed |
| WARNING | Warning. Works, but not recommended |
| INFO | Information. Usually needs nothing |
Look at FATAL and ERROR first. WARNING can usually be shipped as it is.
Forty errors in a row looks hopeless, but they usually all come from one cause.
One bad line in the manifest, for instance, makes every file referenced from it fail.Fix only the first one from the top and validate again — the count often collapses at once.
If you edited a tool-generated EPUB by hand and broke it, rebuilding from the original manuscript is usually faster. Fixing the manuscript and reconverting is more reliable than squashing errors one by one.
EPUB FACTORY runs every file it generates through standards-compliant validation and shows you the result. No account, no installation.
Try EPUB FACTORYOur EPUB check points out the places that are valid on paper but break for real readers, in your own language. It runs entirely in the browser, so your file is never sent anywhere. Free, no sign-up.