EPUB FixerKDP upload error scanner

OPF_003 item is not declared in the OPF manifest

Use this when a file exists in the EPUB but content.opf does not declare it, or when EPUBCheck says a referenced resource is not declared in the OPF manifest. Check whether the file is actually used before you add a manifest item.

The scan shows affected paths and repair decisions. It does not show manuscript text.

Not sure this kind of EPUB should be scanned here? Check unsupported or review-first EPUB cases.

Scan report titles

  • File exists but is missing from the OPF manifest
  • Manifest media-type does not match the file extension
  • OPF-029 media-type does not match the file
  • EPUB 3 nav item is missing properties="nav"
  • RSC_008 referenced resource is not declared in the OPF manifest
  • OPF_003 item is not declared in the OPF manifest

Read the scan report

How to decide whether this report item matches OPF_003 item is not declared in the OPF manifest.

Use the report label, affected file, and repair decision together. A matching title alone is not enough if the file path or EPUB structure points to a different problem.

Match the report title.

Look for "File exists but is missing from the OPF manifest" or the closest title listed above. If the platform wording is different, keep the original EPUBCheck, KDP, or Kindle Previewer message before choosing a fix.

Check the affected file first.

Use the report's Affected area, Source file, Target file, or Problem type rows before editing content.opf, nav.xhtml, toc.ncx, XHTML, CSS, or image paths.

Follow the repair decision.

Repairable means EPUB Fixer found one clear structural change. Needs review or Not supported means use the named file, source project, or platform step instead of guessing.

Repair summary

What to keep if this is not safely repairable.

Copy the report summary instead of rebuilding the fix from memory. A useful repair note keeps the source file, target file or field, original error, repair decision, and next step together.

Source file
Target path or field
Original error
Repair decision
Next step

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.

Matched

Safe repair

One real reference points to one undeclared file.

OPF_003 means a packaged file is missing from the OPF manifest inventory. Add a manifest item only when the report shows a real XHTML, CSS, nav, NCX, cover, or metadata reference to that exact file, then use the correct href and media-type and validate again.

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.

Matched

Safe fix

The manifest media type does not match the real file.

OPF_029 means content.opf declares one media-type while the file extension or file contents indicate another. Keep the same manifest item, but set media-type to the actual file type only when the report identifies the file deterministically.

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.

Matched

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.

Matched

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.

Matched

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.

Matched

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.

Matched

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 in the manifest, so validators treat the package inventory as incomplete.

Add the image manifest item only when the href matches the packaged file and the media type is clear.

Matched

A PNG image is declared as JPEG.

The OPF manifest can say image/jpeg while the real file is cover.png. Validators reject that mismatch even when the image exists.

Edit the manifest item for that file and set media-type to image/png, then validate again.

Matched

An image has the wrong manifest media type.

The image exists, but the OPF media-type does not match the actual image format or file extension.

Set the manifest media-type to the real image type, then validate again.

Matched

nav.xhtml exists but is not declared as the nav item.

The EPUB 3 navigation file can be present while content.opf still lists it as ordinary XHTML.

Add properties="nav" only when that nav.xhtml file is the real table of contents and its links match the intended reading order.

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.

Matched

A stylesheet was copied after export.

An XHTML file imports a CSS file that the export tool did not put in the OPF manifest, so the EPUB package does not officially include a stylesheet that the book uses.

Declare the stylesheet only if the CSS path is exact, the file is really used, and its media-type is text/css.

Matched

A chapter file is present but not listed.

The XHTML file is in the EPUB package, but content.opf does not include it in the manifest, so the spine, nav, or internal links may point to content the package inventory does not own.

Declare the XHTML file only when it belongs in the book's reading order or navigation.

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.

What does RSC-008 referenced resource is not declared in the OPF manifest mean?

It is the reference-side wording for the same package gap. The book is trying to use a file that exists in the EPUB, but content.opf does not list it in the manifest inventory.

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