10 EPUB Formatting Mistakes That Get Books Rejected

Most EPUB rejections aren't caused by unusual edge cases — they're caused by the same ten mistakes, over and over, across thousands of submissions. These problems survive conversion tools, look fine in Calibre and reading app previews, and only surface as a rejection email or a reader complaint after the book is live. Each one below maps to a deeper guide where the full technical fix lives.

Using empty paragraph tags for spacing

Many authors add blank lines in their manuscript editor expecting them to become spacing in the final ebook. EPUB readers handle empty <p></p> tags inconsistently — what looks right in Calibre can render as random blank gaps on Kindle and Kobo devices. Paragraph spacing belongs in CSS margin-bottom on the paragraph style, not in blank lines in the manuscript text.

Ghost spacing in e-reader previews — full guide

Duplicate ID attributes across chapter files

Most EPUB converters build each chapter from the same structural template and copy heading and section IDs into every chapter file. EPUB requires every id attribute to be unique across the entire publication — duplicate IDs cause EPUBCheck errors and Apple Books rejections. The error is almost never visible in reading-app previews, which is why it makes it past authors who do preview their files.

Duplicate ID attribute errors — full guide

Missing or broken NCX navigation table

The NCX file (toc.ncx) provides chapter-level navigation to reading systems and is required even when your converter claims to produce EPUB 3. When it's missing or references the wrong chapter anchors, KDP and Apple Books lose the ability to provide in-reader chapter navigation — and some distribution pipelines reject the file entirely on submission rather than listing it with broken navigation.

Missing NCX navigation table — full guide

Cover image declared in the manifest without the cover-image property

EPUBCheck passes files where the cover image is listed in the manifest without properties="cover-image". Platforms don't. Amazon KDP and Apple Books use this property to identify which image to display as the storefront thumbnail. A missing property means your cover either doesn't appear in the store or appears as a blank gray box — even though the file itself uploaded without error.

Cover image not declared in OPF manifest — full guide

Spine order that does not match reading order

The OPF spine controls the order chapter files are presented to reading systems. If the spine order diverges from the intended reading order — usually because chapters were reordered after export without updating the spine — the resulting ebook reads the wrong chapters in the wrong sequence. The cover and TOC look correct; the problem only appears when a reader navigates chapter-by-chapter.

Broken spine order errors — full guide

Manifest entries pointing to files that no longer exist

Changing a chapter filename after the OPF manifest is generated leaves a manifest item pointing to a file that no longer exists. EPUBCheck flags this as RSC-007. It happens most often when chapters are reorganized after a first export, or when a converter generates chapter files with different names than it registers in the manifest. It's invisible on a quick look at the final EPUB but blocks Apple Books submission.

OPF manifest file reference errors — full guide

Mixing EPUB 2 metadata attributes into an EPUB 3 file

Tools like older Calibre versions and some Word converters output EPUB 3 files with EPUB 2 metadata attributes (opf:role, opf:file-as) on metadata elements that no longer support them. The file declares EPUB 3, EPUBCheck validates against EPUB 3 rules, and the mismatch throws RSC-005 errors — errors that weren't present in the original EPUB 2 source the author shipped fine from in a previous edition.

opf:role attribute not allowed (RSC-005) — full guide

Literal ampersands in XHTML chapter files

EPUB chapter files are XHTML, not HTML — the & character must be written as &amp; in all contexts. A literal & in a title, heading, or book description embedded in XHTML causes a parse failure at the XML level. This is one of the most common errors in files converted from DOCX, where ampersands appear naturally in text and converters don't always escape them correctly.

Unescaped ampersand in XHTML — full guide

Void elements left unclosed in XHTML

XHTML requires all elements to be explicitly closed. Void elements like <img> and <br> need a self-closing slash (<img />, <br />). HTML5 allows these to be left open, so files hand-edited with web development habits — or pasted from blog HTML — frequently fail XHTML validation in ways that EPUBCheck catches but browser-based preview tools don't surface.

Malformed XHTML unclosed tags — full guide

Unique identifier cross-reference broken in OPF

Every EPUB requires a dc:identifier element, and the OPF <package> element's unique-identifier attribute must point to that element's id by name. When they don't match — usually because a template was edited or an identifier element was moved — EPUBCheck throws OPF-048. Apple Books rejects the file outright; KDP accepts it but may show metadata warnings in the dashboard.

Unique identifier not found (OPF-048) — full guide

Common questions

Do all of these mistakes get caught by EPUBCheck?

Most do, but not all. EPUBCheck catches structural and metadata errors (items 2–10), but won't flag ghost spacing (item 1) because empty paragraph tags are technically valid XHTML — they're a rendering quality problem, not a spec violation. Running EPUBCheck removes most of the list; previewing on actual e-reader apps catches the remainder.

Which of these are most likely to cause outright rejection vs. just a bad reader experience?

Items 3 (missing NCX), 4 (cover property missing), 8 (unescaped ampersand), 9 (unclosed tags), and 10 (broken unique identifier) are the ones most likely to block submission entirely. Items 1 (ghost spacing), 5 (spine order), and 6 (dangling manifest references) more often produce a poor reader experience without hard-blocking upload.

Should I fix all of these before submitting even if I am only uploading to one platform?

Yes — the structural errors here (items 2–10) are EPUBCheck-flagged issues that every major platform checks on submission. Fixing them once produces a clean file that uploads to KDP, Apple Books, Kobo, and Draft2Digital without platform-specific rework.

Validate your EPUB before submitting

The free EPUB Validator catches the structural, metadata, and navigation errors covered above — before they become platform rejections. No signup required.

Validate Your EPUB Free →

For a complete guide to EPUB structure and common errors, see the EPUB formatting guide and the EPUB errors reference.

Publishing checklists: EPUB formatting pre-upload checklist

Common EPUB errors: Ghost spacing in e-reader previews, Missing NCX navigation table

Platform rejection guides: Why Amazon KDP rejects ebooks