EPUB errors guide for New Authors – Self publishing

Let me start with something that will save you a lot of self-blame.

Everyone’s first EPUB breaks.

Everyone.

I’ve seen bestselling authors send files that fail validation. I’ve seen publishing houses ship EPUBs with broken navigation. I’ve watched designers stare at an error message for two hours… only to realize it was a missing quotation mark.

EPUB errors aren’t about intelligence. They’re about how fragile the EPUB structure is.

Think of an EPUB like a zip file full of tiny webpages. One bad file path, one missing tag, one image referenced incorrectly — and the whole thing complains.

The trick is knowing where these errors usually hide.

Let’s walk through the ones that trip up new authors over and over.


The #1 Reason EPUB Files Fail Validation

This is the big one.

Broken file paths.

Your EPUB is a folder structure pretending to be one file. Inside it are HTML files, images, stylesheets, fonts, navigation files, and metadata.

When something points to the wrong place, validation fails.

Example of a typical problem:

<img src="images/cover.jpg">

But the real file location is:

Images/Cover.jpg

See the difference?

  • uppercase letters
  • folder name mismatch
  • filename mismatch

Computers treat those as completely different files.

And EPUB validators are ruthless about this.

Quick things to check

  • Image names match exactly
  • Folder names match exactly
  • No spaces in filenames
  • No strange characters

I once fixed an EPUB where the problem was a single space:

cover image.jpg

Renamed it:

cover-image.jpg

Error gone.


The Error Message Everyone Sees First

Most people meet this one early:

Error MessageWhat It Actually Means
ERROR(RSC-005): file not foundSomething references a file that doesn’t exist or is misnamed
ERROR(OPF-003): manifest item missingA file exists but isn’t listed in the EPUB manifest
ERROR(NAV-004): navigation document missingThe EPUB has no valid table of contents
ERROR(RSC-007): reference to non-existent resourceBroken link inside HTML

The validator sounds dramatic. The fix is usually simple.

Almost always a path issue or missing file registration.


The Manifest Problem Most People Miss

Inside the EPUB is a file called:

content.opf

This file lists every single file in the book.

Images
chapters
CSS
navigation files
fonts

Everything.

If a file exists but isn’t listed in the manifest, the EPUB fails validation.

Here’s the part new authors overlook:

They add a new chapter HTML file.

But forget to add it to the manifest.

Result?

Validator throws errors.

Example manifest entry:

<item id="chapter5" href="chapter5.xhtml" media-type="application/xhtml+xml"/>

Miss that line? EPUB breaks.


When Images Trigger Errors

Images are a minefield.

Common mistakes I see constantly:

  • PNG saved in CMYK
  • JPEG with strange metadata
  • Image size too large
  • Missing media-type declaration

Here’s the safe approach.

Use only:

  • JPG
  • PNG

And compress them before embedding.

Typical clean entry inside the manifest:

<item id="cover-image" href="images/cover.jpg" media-type="image/jpeg"/>

Another thing people forget?

Declare the cover properly.

Your OPF should include:

<meta name="cover" content="cover-image"/>

Otherwise many readers won’t recognize it.


CSS Errors That Quietly Break EPUBs

CSS problems don’t always scream loudly. They just cause weird rendering.

Typical ones:

  • unsupported CSS properties
  • web CSS copied directly into EPUB
  • missing font references
  • invalid units

Example mistake:

position: fixed;

Most e-readers ignore it.

Or this one:

vh
vw

Viewport units don’t work well on many EPUB readers.

Safe CSS tends to be boring.

And boring works.

Stick to:

  • margins
  • font sizes
  • line height
  • simple classes

The Navigation File Problem

Older EPUB2 books used something called an NCX file.

EPUB3 replaced it with an HTML navigation document.

Sometimes books include the wrong one… or both… incorrectly.

Your EPUB3 nav file should look like this:

<nav epub:type="toc">

Inside it should be links to each chapter.

If the navigation file isn’t declared properly in the OPF, the validator throws:

NAV-004

Simple fix:

Make sure the nav file is listed like this in the manifest:

properties="nav"

The Weirdest Error I Ever Saw

True story.

A book kept failing validation with a mysterious XML error.

Everything looked correct.

Files were perfect.

Validator still screamed.

The culprit?

A smart quote pasted into metadata.

Instead of:

"

The file contained:

XML hates those.

Replacing the character fixed everything.

So if you see strange XML errors, check:

  • quotation marks
  • apostrophes
  • invisible characters

They sneak in through Word processors all the time.


The 5-Minute Diagnostic I Teach Every New Publisher

When an EPUB fails, run through this mental checklist.

Check the file structure first.

Then the manifest.

Then HTML errors.

Then images.

Then navigation.

In that order.

Here’s the fast scan I use:

• Run the EPUB through EPUBCheck
• Look at the first error only (later errors are often caused by the first)
• Open the referenced file
• Check file path
• Check XML syntax

Nine times out of ten, the first error reveals the real issue.


Tools That Make EPUB Errors Much Easier to Fix

You don’t want to debug EPUBs blind.

These tools help tremendously.

ToolWhy It Helps
EPUBCheckOfficial validator used by most platforms
SigilLets you edit EPUB files directly
Calibre EditorExcellent for fixing structure and CSS
Kindle PreviewerShows rendering problems instantly

Open the EPUB inside Sigil or Calibre and you can see the internal files clearly.

That’s when things start making sense.


The One Thing I Wish New Authors Knew

Here’s the truth.

Word processors are terrible EPUB generators.

They produce messy HTML.

Extra spans
inline styles
unnecessary markup

The cleaner your HTML is, the fewer EPUB errors you’ll see.

A clean chapter file should look simple:

<h1>Chapter One</h1>
<p>Text begins here...</p>

Nothing fancy.

Just structure.


When Everything Looks Fine But The EPUB Still Fails

Sometimes the problem hides deeper.

Check these less obvious causes:

• duplicate IDs in HTML
• missing closing tags
• incorrect MIME type in OPF
• font licensing restrictions
• corrupted zip structure

And occasionally…

The EPUB was zipped incorrectly.

Yes, that happens.

The mimetype file must be first and uncompressed.

Many zip tools mess that up.


Still Stuck? The Nuclear Option

If the EPUB is a mess and debugging feels endless, here’s the reset move I use.

Extract the EPUB.

Rebuild it clean.

Steps:

  1. Unzip the EPUB.
  2. Create a new EPUB project in Sigil.
  3. Import chapters one by one.
  4. Add images manually.
  5. Rebuild the table of contents.

Takes about 20 minutes.

But it wipes out dozens of hidden errors instantly.

Sometimes rebuilding is faster than hunting ghosts.


What Happens After You Fix These

Here’s the good news.

Once you understand:

  • file paths
  • the manifest
  • navigation
  • clean HTML

EPUB errors stop being mysterious.

They become mechanical.

Something breaks.

You check the structure.

You fix the reference.

Validator goes green.

That moment when EPUBCheck says “No errors found.”

That’s when you know the book is ready.