KDP Formatting

KDP error: Table of Contents links don't resolve

TL;DR

KDP requires a working clickable TOC on every Kindle ebook, with both an HTML TOC near the start and an NCX/nav document for logical navigation. Broken anchors, missing nav, or page numbers in the TOC all trigger rejection. Rebuild the TOC, point each link at a real chapter heading, and verify with the free /audit/kdp-readiness/ Score.

What this error means

Kindle ebooks require two TOC structures: a visible HTML Table of Contents near the front of the book, and an invisible navigation document (NCX for backward compatibility, nav.xhtml for EPUB 3) that drives the Kindle's "Go To → Table of Contents" menu.

When KDP detects broken TOC links, the rejection email reads "Your Table of Contents is missing or contains broken links." Specific failures:

  • A TOC entry points to an anchor ID that doesn't exist
  • A chapter exists in the book but isn't in the TOC
  • The NCX nav document is missing or empty
  • TOC includes page numbers (Kindle doesn't have fixed pages, so page numbers are invalid)
  • The HTML TOC is buried at the back instead of near the front

Why it happens

Word's auto-generated TOC creates page-number-based links that don't translate to EPUB. The conversion strips page numbers but leaves the hyperlinks pointing nowhere.

Manually written TOC with anchors like <a href="#chapter1">Chapter 1</a> — but the chapter heading uses id="ch1" not id="chapter1". Tiny typo, broken link.

Re-ordering chapters after the TOC was built. Move chapter 3 to chapter 5 and the original TOC entries now point to the wrong content.

Vellum and Atticus auto-generate both TOCs. They're usually solid, but if you've manually edited the EPUB after export (e.g. in Sigil) you can break it.

Calibre conversion from .docx often drops the NCX or generates an empty one. The HTML TOC may survive but the nav document is empty.

Page numbers in the TOC. A holdover from print thinking. Kindle has no fixed pages because of reflow, so the rule is no page numbers in the ebook TOC at all.

The fix

Step 1: Open your EPUB in Sigil (free from sigil-ebook.com). You'll see two relevant files:

  • toc.ncx (EPUB 2 navigation, required for backward compatibility)
  • nav.xhtml (EPUB 3 navigation, required for modern Kindle)
  • Plus your HTML TOC, usually toc.xhtml or similar

Step 2: Verify the HTML TOC content. Each entry should be:

<li><a href="chapter01.xhtml#ch1">Chapter One: The Beginning</a></li>

The chapter01.xhtml is the file. The #ch1 is the anchor — it must match the id attribute on the chapter's heading in that file.

Step 3: Open chapter01.xhtml and confirm the heading reads:

<h1 id="ch1">Chapter One: The Beginning</h1>

The id must exactly match the anchor in the TOC (case-sensitive).

Step 4: For each TOC entry, verify the target. Sigil's "Tools → Reports → All Files" lists every anchor. Cross-reference against your TOC.

Step 5: Strip any page numbers. A line like "Chapter One: The Beginning ... 12" needs the "... 12" removed. Search for digits in your TOC.

Step 6: Rebuild the NCX automatically. In Sigil: Tools → Table of Contents → Generate Table of Contents → tick which heading levels to include → OK. This rewrites both the visible HTML TOC and the NCX correctly.

Step 7: Generate the nav.xhtml (EPUB 3 nav). In Sigil → Tools → Table of Contents → Create HTML Table of Contents. Position it near the front of the book by dragging in the file list.

Step 8 (Vellum / Atticus regenerate): If you've made structural changes, re-export the EPUB rather than editing the broken one. Vellum: File → Generate → Kindle. Atticus: Project → Generate → EPUB.

Step 9: Run EPUBCheck on the result. Errors about "navMap" or "toc" pinpoint remaining issues.

Step 10: Upload and use KDP's Online Previewer to click every TOC entry and confirm it jumps correctly.

How to pre-flight it

Our free KDP Readiness Score parses your EPUB's TOC and NCX/nav, verifies every link resolves to a real anchor, and flags missing chapters or stray page numbers. We catch this alongside 30+ other KDP rules.

FAQ

Do I need both NCX and nav.xhtml? For modern Kindle, nav.xhtml is what matters. NCX is for older readers. KDP technically requires both for maximum compatibility, but in 2026 nav.xhtml is the priority.

Can the TOC be at the back of the book? No — KDP requires the HTML TOC near the beginning, before chapter 1.

Should I include front matter (copyright, dedication) in the TOC? Optional but recommended. KDP doesn't require it, but readers expect it.

Why does KDP not allow page numbers in the TOC? Because Kindle reflows. There are no fixed pages — font size, screen size, and orientation all change pagination. Page numbers in an ebook TOC are meaningless.

Free · 60 seconds · No payment

Don't risk a KDP rejection — score your file first.

Drop your DOCX, PDF or EPUB and we run the same 30+ checks Amazon does — margins, gutter, image DPI, font embedding, ToC, blank pages, ISBN match, bleed — and score it /100 with the exact rejection risks flagged.

Score my file →
Robert Prime

Robert Prime

Robert Prime is a best-selling self-published author, veteran eCommerce strategist, and the founder of publishing.co.uk.

Robert Prime — Founder of publishing.co.uk

About the Author

Robert Prime

Robert Prime is a best-selling self-published author, veteran eCommerce strategist, and the founder of publishing.co.uk. With over 25 years of experience in digital business he brings a battle-tested perspective to the publishing industry. After experiencing firsthand the archaic, headache-inducing process of formatting a KDP-compliant book for his own best-seller, Google. Panic. Repeat., Robert built publishing.co.uk to solve the problem for other authors. He is also a co-owner of the LoveReading.co.uk network (the UK's leading book discovery platforms), founder of the Amazon growth agency MrPrime.com, and a member of the Forbes Business Council.

Reading about KDP? Score your file free in 60 seconds. Score my file →