EPUB FixerKDP upload error scanner

EPUB error guide

OPF_048 package is missing unique-identifier

How to understand the OPF_048 package missing unique-identifier error, what to check in EPUB metadata, and when the identifier can be repaired safely.

Direct answer

Short answer for this EPUB error.

Use this summary before the detailed guide. Most KDP, Kindle Previewer, and EPUBCheck messages still need the affected file path inside the EPUB before you edit anything.

What it means

The EPUB may contain metadata, chapters, and images, but the OPF package file does not point to the identifier that represents the publication. Validators need that link so the package can consistently identify the book.

Can EPUB Fixer repair it?

EPUB Fixer can repair this when there is one clear dc:identifier that should be used as the package identifier, such as a single UUID-style identifier or a single existing metadata identifier created by the export tool. The repair should add the package unique-identifier attribute and point it to the matching dc:identifier id.

What to check next

Open content.opf or package.opf and find the opening package tag near the top of the file.

What not to assume

The tool should not choose between conflicting ISBN, UUID, retailer, draft, or platform identifiers. If the metadata contains several plausible identifiers, the correct value is an editorial or publishing decision, not a safe automatic repair.

Error text

OPF_048: Package tag is missing its required unique-identifier attribute and value.

When you usually see it

EPUBCheck, Kindle Previewer, or KDP reads the OPF package file and finds that the package element does not declare which metadata identifier should be treated as the book's unique identifier.

Plain English

What it means inside the EPUB.

The EPUB may contain metadata, chapters, and images, but the OPF package file does not point to the identifier that represents the publication. Validators need that link so the package can consistently identify the book.

This can happen after manual OPF edits, metadata cleanup, conversion from an older format, or an export process that creates dc:identifier elements but omits the package unique-identifier attribute. It can also appear when a tool strips metadata attributes while preserving the visible book content.

User checklist

Follow this repair path before another upload.

Work through the file path, the real EPUB contents, and the add-or-remove decision in order. Stop when the next step would require guessing what the author meant.

  1. 1Open content.opf or package.opf and find the opening package tag near the top of the file.
  2. 2Check whether that package tag has a unique-identifier value.
  3. 3Look in the metadata section for dc:identifier entries and check whether each one has an id value.
  4. 4If there is one clear UUID or ISBN-style identifier, the package tag can point to that identifier id.
  5. 5If there are several possible identifiers, such as ISBN, UUID, retailer id, and draft id, stop and choose manually.
  6. 6Validate again after the change because OPF_030 can appear when the package points to an identifier id that does not exist.

Validator context

Why this error matters to validators.

EPUB 3.3 package rules

The OPF package file defines the book metadata, file inventory, reading order, and navigation wiring that validators inspect before a reading system can process the book reliably.

EPUBCheck

EPUBCheck evaluates EPUB 2 and EPUB 3 publications against official EPUB specifications and reports structure, package, markup, and reference problems.

Repairability

Can EPUB Fixer repair it?

Safe repair condition

EPUB Fixer can repair this when there is one clear dc:identifier that should be used as the package identifier, such as a single UUID-style identifier or a single existing metadata identifier created by the export tool. The repair should add the package unique-identifier attribute and point it to the matching dc:identifier id.

When it stops at diagnosis

The tool should not choose between conflicting ISBN, UUID, retailer, draft, or platform identifiers. If the metadata contains several plausible identifiers, the correct value is an editorial or publishing decision, not a safe automatic repair.

Before / after example

Before: the OPF package element has version="3.0" but no unique-identifier attribute, while metadata contains <dc:identifier id="pub-id">urn:uuid:...</dc:identifier>. After: the package element points unique-identifier="pub-id" only if that is the single clear publication identifier.

Next step

Scan the actual file before editing by hand.

The same error code can come from different files and different causes. Uploading the EPUB lets the report show the affected path and whether the fix is safe to make automatically.

Upload EPUB to scan

FAQ

Common questions about this EPUB error.

What does OPF-048 package missing unique-identifier mean?

It means the OPF package element is missing the required unique-identifier attribute. That attribute tells validators which dc:identifier metadata entry identifies the publication.

How is OPF-048 different from OPF-030?

OPF_048 means the package element does not declare a unique-identifier value. OPF_030 means the package declares one, but the named identifier id cannot be found in the metadata.

Can EPUB Fixer add a missing unique-identifier?

Only when the EPUB contains one clear dc:identifier that should be used. If there are several plausible identifiers, the tool should not choose one automatically.

Will OPF-048 affect KDP upload?

Yes. KDP and Kindle Previewer can reject an EPUB when the OPF package metadata is incomplete, even if the chapters display in a local reading app.

Should I use ISBN or UUID for the unique identifier?

Use the identifier that matches your publishing workflow. If the EPUB already has a single valid UUID or ISBN entry, it may be safe to reference it; if several identifiers exist, confirm the intended one before editing.

Related EPUB error guides