← toolkit.bot

EPUB Page Numbers: Static Pagination, page-list Navigation, and Print Equivalents

June 12, 2026  ·  7 min read

Page numbers in EPUB are fundamentally different from print. Because EPUB text reflows to fit any screen, "page 42" in a paperback has no fixed meaning on a Kindle. But page numbers can be embedded in an EPUB for accessibility, academic citation, and cross-referencing with print editions. Here's how.

Why EPUB Doesn't Have Fixed Pages

A printed PDF has fixed pages because text is locked to a specific layout. EPUB text reflows: increase the font size and you get more "pages"; switch to landscape and the layout changes entirely. The concept of a page depends on the current reading environment.

This is intentional — reflowable text is the whole point of EPUB for accessibility and multi-device reading. But it creates a real problem for academic citations ("see page 47") and for readers who want to know how far through a book they are relative to the print edition.

Static Page Markers (Print Equivalent)

EPUB 3 supports embedding static page break markers using epub:type="pagebreak". These invisible markers record where each print page began, preserving page number references even in reflowable text:

<!-- Mark where print page 47 begins -->
<span epub:type="pagebreak"
      id="page47"
      role="doc-pagebreak"
      aria-label="Page 47"></span>

<p>The argument continues from the previous page...</p>

Screen readers announce page breaks using the aria-label. Readers using accessible EPUB apps can navigate to specific print page numbers even though the visual layout has changed.

The page-list Navigation Element

To enable direct page number navigation, add a page-list nav element to nav.xhtml:

<nav epub:type="page-list" hidden="">
  <ol>
    <li><a href="chapter01.xhtml#page1">1</a></li>
    <li><a href="chapter01.xhtml#page2">2</a></li>
    <li><a href="chapter02.xhtml#page47">47</a></li>
    <!-- ... one entry per print page -->
  </ol>
</nav>

The hidden="" attribute hides the page list from the visual reading flow but makes it available to reading system navigation UI and assistive technology.

Where Page Numbers Are Required

Progress Indicators vs Page Numbers

Most consumer e-readers show reading progress as a percentage or "X minutes left" rather than page numbers. Kindle estimates pages based on a standardized font size — so "Kindle page 42" may not match print page 42. This estimated page count is separate from embedded EPUB page markers.

Adding Page Numbers When Converting from PDF

When toolkit.bot converts a PDF to EPUB, page break markers are inserted at the original PDF page boundaries. The epub:type="pagebreak" span and page-list nav are generated automatically, preserving original page references in the output EPUB. This is essential for academic and accessible publishing workflows.

Convert PDF to accessible EPUB with page markers →