EPUB FixerKDP upload error scanner

EPUB error guide

OPF_003 item is not declared in the OPF manifest

How to understand the OPF_003 EPUBCheck error when a file exists in the EPUB but is missing from the OPF manifest, and when a manifest repair is safe before KDP upload.

1. Example report output

What the OPF_003 report should make clear.

A useful report should not stop at "file missing from manifest." It should show whether the file is part of the book or just leftover export debris.

EPUBCheck message

ERROR(OPF-003): OEBPS/content.opf: Item "Images/cover.jpg" exists in the EPUB but is not declared in the OPF manifest.

KDP / Previewer wording

The EPUB package contains a file that is not listed in the package manifest.

EPUB Fixer report

Found OEBPS/Images/cover.jpg in the ZIP. It is referenced from Text/chapter1.xhtml, but content.opf has no manifest item for it.

Do this next

Add a manifest item only if the file is actually referenced and the media type is clear.

Do not do this

Do not declare backup files, hidden files, source files, or old export leftovers just to clear OPF_003.

Safe repair means adding one real book asset to the manifest, not making the ZIP inventory look valid by listing every file.

2. Next step

Use the undeclared file path before changing the manifest.

The next step depends on whether the reported file is used by the EPUB.

Scan first

You do not know whether the file is used.

Upload the EPUB and check whether any XHTML, CSS, nav, NCX, cover, or metadata reference points to the undeclared path.

Manual check

The file exists but nothing references it.

Do not add it automatically. Review whether it is an old cover, backup, source asset, or duplicate export file that should be removed instead.

Safe repair

One real reference points to one undeclared file.

Add a manifest item with the correct href and media-type, then run EPUBCheck again before downloading or uploading to KDP.

3. Concrete path example

A typical OPF_003 package mismatch.

This is the kind of relationship the report should expose.

EPUBCheck:
ERROR(OPF-003): OEBPS/content.opf: Item "styles/print.css" is not declared in the OPF manifest.

Report:
Found: OEBPS/styles/print.css
Used by: OEBPS/Text/chapter4.xhtml
Manifest: no item href="styles/print.css"
Fix decision: safe repair if media-type is text/css
After: add manifest item, then validate again

If the same scan finds old-cover-backup.jpg with no references, that file should not be declared just because it is present in the ZIP.

Quick decision

Decide whether OPF_003 is a missing manifest item or an extra file.

Both cases can produce OPF_003, but they should not be fixed the same way.

Scan first

The file path is known but its purpose is not.

Trace the path through XHTML, CSS, nav, NCX, cover metadata, and OPF properties before editing content.opf.

Safe fix

The book clearly uses the file.

Declare the file with a stable id, exact relative href, and correct media-type, then validate the EPUB again.

Stop

The file looks like a leftover.

Do not add draft files, duplicate images, hidden files, source documents, or random export leftovers to the manifest.

Start here

Start with the undeclared file path.

OPF_003 is not a reason to add every loose file to content.opf. First identify the exact file path, then decide whether the book actually uses that file.

What it means

The file is inside the EPUB, but content.opf does not list it in the book's file inventory. EPUB readers and validators use that inventory to decide which chapters, images, styles, fonts, and navigation files belong to the book.

Can it be fixed automatically?

EPUB Fixer can help when the extra file is clearly used by the book and has a known media type, such as a referenced image, CSS file, XHTML content document, nav file, NCX file, or font. A safe fix adds a manifest item with a stable id, correct href, and correct media-type, then checks the EPUB again.

What to check next

Copy the exact file path from the EPUBCheck message. Example: if it reports OEBPS/styles/print.css, keep that folder and file name exactly as written.

What not to assume

Do not add every loose file to the manifest automatically. Draft files, source files, backups, hidden system files, duplicate images, or unrelated assets may be better removed from the package. If the file is not referenced by the book and its purpose is unclear, the report should stop for manual review.

Common situations

Common OPF_003 cases authors run into.

Most OPF_003 errors come from a small number of packaging mistakes after editing or exporting.

A chapter references an image that is missing from the manifest.

The image file exists and the XHTML points to it, but content.opf does not declare it.

Add the image only if the href and media type are clear.

A backup image is still inside the EPUB.

The ZIP contains old-cover-backup.jpg or a duplicate asset that no book file uses.

Remove or review the loose file instead of declaring it.

A stylesheet was copied after export.

An XHTML file imports a CSS file that the export tool did not put in the manifest.

Declare the stylesheet if it is really used and the path matches exactly.

A font file is present but not wired correctly.

The font exists in the package but may or may not be referenced by CSS.

Check the CSS font-face rules before adding the font to the manifest.

The OPF_003 manifest error text

OPF_003: Item exists in the EPUB, but is not declared in the OPF manifest.

Where OPF_003 appears in EPUB validation

EPUBCheck, Kindle Previewer, or KDP finds a packaged file such as an XHTML chapter, image, stylesheet, font, nav file, or NCX file that is present in the ZIP container but missing from the OPF manifest.

What it means

OPF_003 is usually a package inventory mismatch.

The file is inside the EPUB, but content.opf does not list it in the book's file inventory. EPUB readers and validators use that inventory to decide which chapters, images, styles, fonts, and navigation files belong to the book.

This often happens after manual ZIP edits, image replacement, stylesheet cleanup, chapter renaming, or export tools that leave unused files behind. It can also happen when a file is copied into the EPUB after export but no matching manifest item is added to content.opf.

Before you edit

Check whether the undeclared file belongs in the book.

The safe fix depends on use, not just presence. A referenced stylesheet or image usually belongs in the manifest; a backup image or hidden system file usually should not.

  1. 1Copy the exact file path from the EPUBCheck message. Example: if it reports OEBPS/styles/print.css, keep that folder and file name exactly as written.
  2. 2Open the EPUB like a ZIP package and check whether that file is really there. If the file is missing, this is not just a manifest problem.
  3. 3Open content.opf and look for the manifest list. If no item href matches the reported path, the EPUB file inventory is incomplete.
  4. 4Search the book for the same path before adding it. If an XHTML page, CSS file, nav.xhtml, toc.ncx, cover setting, or metadata entry uses it, the file probably belongs in the manifest.
  5. 5Choose add or remove. Add it only when the book uses it; remove it when it is a backup, hidden file, duplicate image, source document, or old export leftover.
  6. 6Validate again after one change. A fixed manifest entry can reveal a second issue, such as the wrong media type or another undeclared file.

Why KDP checks it

Why Kindle and EPUBCheck need the manifest entry.

EPUB 3.3 package rules

The OPF file is the EPUB's map: metadata, file list, reading order, and navigation wiring. KDP and EPUBCheck use it to decide whether the book package is coherent.

EPUBCheck

EPUBCheck checks EPUB 2 and EPUB 3 files against the official rules and reports package, markup, link, and file-reference problems.

Can this be fixed safely?

When adding the OPF manifest item is safe.

When automatic repair is safe

EPUB Fixer can help when the extra file is clearly used by the book and has a known media type, such as a referenced image, CSS file, XHTML content document, nav file, NCX file, or font. A safe fix adds a manifest item with a stable id, correct href, and correct media-type, then checks the EPUB again.

When you need manual review

Do not add every loose file to the manifest automatically. Draft files, source files, backups, hidden system files, duplicate images, or unrelated assets may be better removed from the package. If the file is not referenced by the book and its purpose is unclear, the report should stop for manual review.

Before / after example

Before: the EPUB ZIP contains OEBPS/styles/print.css and a chapter references it, but content.opf has no manifest item for that CSS file. After: content.opf includes a manifest item for styles/print.css with text/css as the media type. Before: the ZIP contains old-cover-backup.jpg that no file references; that should not be blindly declared.

Ready to retry?

Scan before declaring the loose file.

A scan should show whether the file is referenced by XHTML, CSS, nav, NCX, cover metadata, or another package field before any manifest entry is added.

Upload EPUB to scan

FAQ

Questions authors ask about OPF_003.

What does OPF-003 item is not declared in the OPF manifest mean?

It means a file is present inside the EPUB container, but the OPF package file does not list it in the manifest. Validators use the manifest as the official inventory of publication resources.

Should I add every undeclared file to the OPF manifest?

No. Add the file only when it is part of the book and has a clear media type. Backup files, unused images, source files, and hidden system files are usually better removed from the EPUB.

Can OPF-003 block a KDP upload?

Yes. KDP and Kindle Previewer can reject an EPUB when the package inventory does not match the files needed by the book, especially for chapters, images, stylesheets, fonts, navigation files, and NCX files.

How is OPF-003 different from RSC-007?

OPF_003 is about a file that exists in the EPUB but is not declared in the manifest. RSC_007 is usually about a reference to a file path that cannot be found in the EPUB at all.

Can EPUB Fixer repair OPF-003 automatically?

It can treat the issue as safe to fix when the file is clearly used by the book and the correct manifest media type is known. If the file looks unused or ambiguous, the report should stop for manual review.

How do I know whether to add the file or remove it?

Add it only when an XHTML, CSS, nav, NCX, cover, or metadata reference actually uses it. Remove it when it looks like an old backup, duplicate export file, hidden system file, or source document.

Where is the OPF manifest?

It is inside the OPF package file, often named content.opf or package.opf. The manifest section is the file inventory for the EPUB.

Related EPUB error guides