EPUB table of contents link checker

Choose an .epub file. Every entry in nav.xhtml and toc.ncx is followed to its file and anchor, so you see exactly which ones do nothing when a reader taps them.

How it works

A TOC entry that opens the wrong place, or nothing at all, is one of the most common reasons readers leave one-star reviews and stores send a book back. The usual causes are small: a heading id that changed after editing, Chapter1.xhtml in the TOC but chapter1.xhtml in the file (works on Windows, fails on Kindle and Apple Books), a chapter added to the spine but not to the TOC, or a nav.xhtml and toc.ncx that no longer match.

How to use it: choose the .epub and press Check TOC links. It is unzipped in your browser with the open-source JSZip library and never uploaded. The checker reads container.xml, the .opf manifest and spine, the EPUB 3 navigation document and the EPUB 2 / Kindle toc.ncx.

You get a list of broken entries (missing file, missing #anchor, case mismatch, empty label), entries to check (not in the spine, out of reading order, duplicate target, nav and NCX disagree) and reading-order files that have no TOC entry. Copy the list as CSV and fix in Sigil, Calibre or your source files, then run epubcheck before upload.

FAQ

Is my book uploaded?

No. The EPUB is opened in your browser only; nothing is sent or stored.

Does it replace epubcheck?

No. It looks only at the table of contents, but explains each problem in plain words. Run epubcheck too before KDP, Apple or Kobo upload.

Does it work for Kindle?

KDP converts EPUB; a TOC that passes here and in epubcheck usually converts cleanly. KPF/AZW3 files are not read.