
If your question is how to make a KDP TOC with nav and NCX, begin with one authoritative chapter order. Make the six body headings the source of truth, generate both navigation forms from that same order, and compare their item counts and targets together. This sample deliberately contains two chapters named “Reunion.” Labels alone cannot distinguish them, so the audit follows all six positions and hrefs. The local generation aligned, but KDP device-menu behavior was not tested; Stage 4 remains partial.
Generate nav and NCX from one chapter order
Maintaining nav and NCX by separate manual edits creates an easy omission: one list changes while the other remains stale. Establish the six-chapter body order first and generate both navigation structures from it. The comparison must include each chapter’s position and target, not merely its displayed label.
The EPUB 3.3 specification defines the EPUB navigation document as the primary navigation source. Rune Studio also outputs NCX. This article is about their shared generation sequence and order. The broader compatibility role of NCX in older reading systems is a separate topic.
Test six chapters with two identical “Reunion” labels
The sample contained six body chapters, including two headings named “Reunion.” Its starting values were six body chapters, six expected nav entries, six expected NCX entries, and six fixed body markers.
Two entries with the same visible label are not enough evidence. Each “Reunion” must point to a different body file, while the complete list still follows the intended six-chapter order. The acceptance conditions were therefore:
- six nav entries and six NCX entries;
- the same six positions in both lists;
- distinct href/src targets for the two “Reunion” entries; and
- a matching body marker at all six targets.
Compare both generated lists against the body
First, treat the ordered body headings as the source of truth. Decide which chapters belong in navigation and generate the EPUB. Open nav and NCX side by side, then compare label and target at positions one through six. For duplicate labels, require different destinations.
Open each destination XHTML and confirm that its heading or fixed marker belongs to the expected chapter. Finally, follow Amazon KDP’s supported manuscript format guidance, open the device menu in Kindle Previewer, and activate all six items. Matching generated files and successful reader interaction are different gates.
Nine commands produced six matching entries in each file
In the dedicated test workspace, I set the series and volume information and selected six chapters, including the two named “Reunion.” I fixed their order and TOC inclusion, reviewed the export plan, generated the EPUB, and inspected nav, NCX, and body XHTML. The evidence records a command_count of 9.
The output was valid=true, with a spine count of 9 and zero missing images. Nav and NCX were both present with six items. Nav targets ran from p001.xhtml through p006.xhtml; NCX targets ran from Text/p001.xhtml through Text/p006.xhtml in the same order. The two “Reunion” labels remained separate and pointed to distinct targets. Six fixed body markers were present.
This confirms local generation of nav and NCX from the same six-chapter order, including distinct links for duplicate labels. The KDP device menu and actual navigation were not exercised, so the correct status is partial.
Return to the source order when generation diverges
KDP acceptance, Kindle Previewer or hardware menus, operation of all six links, and behavior in every reading system remain unverified. Use the mismatch to choose the return point:
- If nav or NCX does not contain six items, return to TOC inclusion.
- If their order differs, return to the selected six-chapter source order.
- If the two “Reunion” entries collapse into one, inspect their distinct destinations rather than their labels.
- If an href or src does not match a body marker, return to that chapter’s file mapping.
- If a device-menu item fails, record it as an external-reader result and recheck package inclusion and target resolution.
Do not edit a generated navigation file as the new source of truth; that correction would disappear on the next export.
Rune Studio creates nav and NCX in the same export
The current macOS Rune Studio EPUB 3 wizard supports source selection, chapter ordering, TOC inclusion, export planning, and EPUB generation. The generated package includes the EPUB navigation document, NCX, package document, and body XHTML. These are Stage 3 capabilities documented on the Rune Studio product page and in the product reference.
The six chapters, six nav items, six NCX items, two duplicate labels, and six fixed markers are Stage 4 observations from this article’s sample. Product generation and successful KDP device navigation remain separate claims.
Conclusion: audit duplicate names by destination
To keep a KDP table of contents consistent across nav and NCX, use one authoritative six-chapter order and compare item count, position, and target in both generated files. The two “Reunion” chapters remained distinct through different hrefs, and the local structures aligned. Because the device menu and link operation were not tested, the result remains partial until all six items are exercised in Kindle Previewer or on the target device.


