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.
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
Read the scan report
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.
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.
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.
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
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.
1. Example report output
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
The next step depends on whether the reported file is used by the EPUB.
Scan first
Upload the EPUB and check whether any XHTML, CSS, nav, NCX, cover, or metadata reference points to the undeclared path.
Manual check
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
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
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
Both cases can produce OPF_003, but they should not be fixed the same way.
Scan first
Trace the path through XHTML, CSS, nav, NCX, cover metadata, and OPF properties before editing content.opf.
Safe fix
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
Do not add draft files, duplicate images, hidden files, source documents, or random export leftovers to the manifest.
Start here
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.
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.
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.
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.
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
Most OPF_003 errors come from a small number of packaging mistakes after editing or exporting.
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.
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.
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.
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.
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.
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.
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.
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.
OPF_003: Item exists in the EPUB, but is not declared in the OPF manifest.
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
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
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.
Why KDP checks it
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 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?
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.
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: 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?
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 scanFAQ
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.
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.
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.
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.
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.
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.
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.
It is inside the OPF package file, often named content.opf or package.opf. The manifest section is the file inventory for the EPUB.