NCX-001: NCX identifier does not match OPF identifier
Epubcheck reports: ERROR(NCX-001): NCX identifier ("abc") does not match
OPF identifier ("xyz"). The table of contents and the package document disagree about
which book this is.
What it means
Epub 2 books keep their navigation in a file called toc.ncx, and that file
carries its own copy of the book's unique identifier in a dtb:uid meta element.
The spec says it must equal the dc:identifier in the OPF package document. When
the two drift apart, validation fails.
Why it happens
Some tool rewrote one identifier and not the other. Editing metadata in Calibre is the classic case: it regenerates the package identifier but the NCX keeps the old one. Merging content from two books, or any script that touches the OPF, does the same thing.
How to fix it by hand
Open the OPF, copy the text content of the <dc:identifier> element that
the <package unique-identifier="..."> attribute points at, then open
toc.ncx and paste it into the matching meta:
<meta name="dtb:uid" content="paste-the-identifier-here"/>
The one-click way
The checker detects the mismatch and the fixer copies the package identifier into the NCX for you. In your browser, nothing uploaded.
Check and fix your Epub