Upload scan
Use this when you have not inspected content.opf.
The report can list the package unique-identifier value and every dc:identifier entry in the metadata section.
EPUB error guide
How OPF_030 happens when the package unique-identifier points to a missing metadata id, and when that OPF metadata link can be repaired safely.
1. Example report output
A useful OPF_030 report should show the broken package pointer and the identifier entries that could or could not satisfy it.
EPUBCheck message
ERROR(OPF-030): OEBPS/content.opf(-1,-1): The unique-identifier "uid" was not found.
KDP / Previewer wording
The package metadata is invalid or the publication identifier cannot be resolved.
EPUB Fixer report
Package field unique-identifier="uid" has no matching dc:identifier id, with one candidate book-id.
Do this next
Align the package value only if book-id is the single intended publication identifier.
Do not do this
Do not create a new ISBN, UUID, or retailer id just to make OPF_030 disappear.
If the OPF has several ISBN, UUID, retailer, or draft identifiers, choose manually instead of letting an automatic repair pick one.
2. Next step
This error is about an internal OPF id relationship. The visible title, author, and KDP listing fields can be correct while the package identifier still fails.
Upload scan
The report can list the package unique-identifier value and every dc:identifier entry in the metadata section.
Manual check
Confirm whether the published book should use the ISBN, UUID, retailer id, platform id, or another existing identifier.
Formatter handoff
Ask the formatter to align the package unique-identifier with the intended metadata identifier in the export source.
3. Concrete path example
The package value must match a real dc:identifier id exactly.
Message: ERROR(OPF-030): The unique-identifier "uid" was not found Package: <package unique-identifier="uid"> Missing: <dc:identifier id="uid"> Found: <dc:identifier id="book-id">urn:uuid:...</dc:identifier> Fix: point to book-id only if it is the intended publication id
Do not invent an ISBN or choose between several identifiers just to clear the validator message.
Quick decision
OPF_030 is a relationship error inside content.opf. The title, author, and KDP form fields can look fine while the package identifier link is still broken.
Scan first
Scan the OPF to see the package unique-identifier value and every dc:identifier entry before editing metadata.
Safe fix
Align the package value and the dc:identifier id only when that metadata entry is clearly the publication identifier.
Manual decision
ISBN, UUID, retailer id, draft id, and platform id are publishing choices. The tool should not pick between them automatically.
Start here
OPF_030 is not about the title or author text shown to readers. It means the OPF package says one metadata id identifies the book, but that id cannot be found where validators expect it.
The OPF says 'this metadata entry identifies the book', but the entry it names is missing, renamed, capitalized differently, or has no id attribute.
This can often be fixed by aligning the package unique-identifier with one existing dc:identifier, or by adding the missing id attribute to the clear publication identifier already in the metadata.
Open content.opf or package.opf and find the unique-identifier value on the package tag.
Do not choose between conflicting ISBN, UUID, retailer, draft, or platform identifiers automatically. Also do not invent an ISBN or assume KDP's listing metadata replaces the identifier inside the EPUB file.
Common situations
The fix depends on whether the identifier is missing, misspelled, or ambiguous.
Example: unique-identifier="uid" appears on the package tag, but no dc:identifier has id="uid".
If one dc:identifier clearly identifies the book, align the package value or add the missing id to that entry.
BookId and bookid can look equivalent to a person but fail an exact OPF check.
Use one exact id value in both places after confirming it points to the intended identifier.
The OPF may contain a UUID or ISBN value, but the package cannot reference it because the id is absent.
Add an id only when that identifier is the single clear publication identifier.
A converted file may carry an ISBN, an old UUID, a retailer id, and a draft id.
Choose manually based on the publishing workflow; do not let an automatic repair decide.
A file can contain a UUID, an ISBN, and a source-system id, but only one should identify this publication package.
Point unique-identifier to the publication id, not to a convenience id used by the export tool.
OPF_030: The unique-identifier was not found.
EPUBCheck, Kindle Previewer, or KDP reads content.opf and finds a package unique-identifier value that does not match any dc:identifier id in the metadata section.
What it means
The OPF says 'this metadata entry identifies the book', but the entry it names is missing, renamed, capitalized differently, or has no id attribute.
The package tag may reference unique-identifier="BookId" while metadata contains id="bookid", id="uid", or a dc:identifier with no id at all. This often happens after metadata cleanup, conversion, or manual OPF edits.
Before you edit
Do not choose a publishing identifier just to satisfy a validator. First see whether the OPF already contains one clear UUID or ISBN entry that the package was meant to reference.
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?
This can often be fixed by aligning the package unique-identifier with one existing dc:identifier, or by adding the missing id attribute to the clear publication identifier already in the metadata.
Do not choose between conflicting ISBN, UUID, retailer, draft, or platform identifiers automatically. Also do not invent an ISBN or assume KDP's listing metadata replaces the identifier inside the EPUB file.
Before: package unique-identifier="uid" but no dc:identifier id="uid" exists. After: the package and dc:identifier point to the same metadata entry. Before: metadata contains both an ISBN and a draft UUID with no clear intent; that should stop for manual choice.
Ready to retry?
The scan can show whether the package points to a misspelled id, whether the dc:identifier is missing an id attribute, or whether several identifiers require a manual publishing decision.
Upload EPUB to scanFAQ
It means the OPF package points to a unique identifier ID that does not exist in the metadata section. Validators cannot tell which dc:identifier should be treated as the book identifier.
Often, yes, when there is one clear dc:identifier to align with the package unique-identifier. If the file contains conflicting ISBN, UUID, or retailer identifiers, the report should stop for manual review.
Yes. A reading app may display the chapters, but KDP, Kindle Previewer, and EPUBCheck still need the OPF package metadata to identify the book consistently.
Look in content.opf or package.opf. The package tag names the unique-identifier, and the metadata section should contain a dc:identifier with the same id.
Only when the existing metadata is clear and no conflicting identifier exists. If the file already contains multiple ISBN, UUID, or retailer identifiers, choose manually instead of creating another one.
No. KDP's form fields do not repair the EPUB package file. The unique-identifier link has to be correct inside content.opf before the uploaded EPUB validates cleanly.
No. OPF_030 is about the OPF package pointing to a metadata id that cannot be found. The identifier can be a UUID or another valid publication identifier depending on the book workflow.