EPUB FACTORY
Learn about EPUB / When things go wrong
When things go wrong

When a submission error appears
common causes and how to fix them

Your EPUB is refused by a store, or a validator reports errors. The causes come down to a handful of patterns. This article sets out what to check first, and what the errors you will meet most often actually mean.
In this article
  1. Start by running a validator
  2. The errors you will meet, and their fixes
  3. When it validates but is still refused
  4. How to read an error

Start by running a validator

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 it reports nothing

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.

The errors you will meet, and their fixes

If you are making EPUBs on your own, the errors you run into are fairly predictable.

Errors about mimetype The ZIP is not assembled correctly

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.

The fix Regenerate it with an EPUB-building tool. If you must re-zip by hand, you need a procedure that stores mimetype first and uncompressed.
Errors about file registration A file is not listed, or is listed but missing

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.

The fix Compare the manifest against the actual files. Regenerating with a tool is the sure way.
Errors about required information Bibliographic details are missing

EPUB 3 requires the following.

dc:title (the title)
dc:language (language; ja for Japanese)
dc:identifier (identifier)
dcterms:modified (last modified)

The fix Check that you did not convert with the fields left empty. The title in particular is what appears on the reader’s shelf.
Errors about links A table-of-contents link points nowhere

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 fix Check the link targets. If you changed the manuscript, rebuilding the EPUB is the safe move.
Errors about the XHTML itself Unclosed tags and typos

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.

The fix Take the HTML tags out of the manuscript. If you need formatting, use the notation your tool supports.

When it validates but is still refused

If EPUBCheck reports zero errors and the store still refuses the file, it is a store requirement rather than the specification.

Common requirements

Requirements change

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.

For Kindle

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.

How to read an error

EPUBCheck writes in English, but once you know the shape it is not hard.

ERROR(RSC-001): book.epub/OEBPS/content.opf(12,45):
  File "OEBPS/image/cover.jpg" could not be found.
↑kind ↑which file, which line ↑what is wrong
LabelMeaning
FATALFatal. The file does not hold together at all
ERRORBreaks the specification. Must be fixed
WARNINGWarning. Works, but not recommended
INFOInformation. Usually needs nothing

Look at FATAL and ERROR first. WARNING can usually be shipped as it is.

When there are dozens of errors

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.

Sometimes rebuilding is faster

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.

Build an EPUB that validates

EPUB FACTORY runs every file it generates through standards-compliant validation and shows you the result. No account, no installation.

Try EPUB FACTORY
When EPUBCheck passes and you are still uneasy

Our 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.

Check an EPUB →