Chapter Breaks in EPUB
Chapter breaks in EPUB operate at two distinct levels. The first is structural: each chapter is its own XHTML content file, and the EPUB spine in the OPF package document lists those files in reading order. The second is navigational: headings inside those files — and the nav.xhtml TOC — create the chapter entries readers see in the in-book menu. Getting both right is what separates a well-structured EPUB from one that causes navigation errors and slow loading on e-ink devices.
Two levels of chapter structure
Authors coming from word processors often think of a chapter break as a heading — press Enter, type "Chapter 2", and the reader sees a new chapter. In EPUB, the concept splits into two separate things: the file structure (which XHTML files exist in the archive) and the heading structure (which h1/h2 elements are inside those files). The file structure controls actual page breaks; the heading structure controls TOC labels.
| Method | Effect | When to use |
|---|---|---|
| One XHTML file per chapter | Hard break — reading system always starts a new page | Recommended for all prose ebooks |
| page-break-before: always on h1 | CSS page break — reading system usually honors it | When multiple sections exist in one file |
| h1 heading inside a shared file | No automatic page break — just a heading | Section title within a chapter |
| epub:type="chapter" on section | Semantic annotation — no rendering effect on its own | EPUB 3 accessibility metadata |
How spine splitting works
The OPF package document (content.opf) has two sections that handle chapter structure: the <manifest> declares every file in the archive, and the <spine> lists the content files in reading order:
<!-- In content.opf -->
<manifest>
<item id="nav" href="nav.xhtml" media-type="application/xhtml+xml" properties="nav"/>
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
<item id="titlepage" href="titlepage.xhtml" media-type="application/xhtml+xml"/>
<item id="copyright" href="copyright.xhtml" media-type="application/xhtml+xml"/>
<item id="chapter01" href="chapter01.xhtml" media-type="application/xhtml+xml"/>
<item id="chapter02" href="chapter02.xhtml" media-type="application/xhtml+xml"/>
<item id="chapter03" href="chapter03.xhtml" media-type="application/xhtml+xml"/>
</manifest>
<spine toc="ncx">
<itemref idref="titlepage"/>
<itemref idref="copyright"/>
<itemref idref="chapter01"/>
<itemref idref="chapter02"/>
<itemref idref="chapter03"/>
</spine>Every file listed in the spine must be declared in the manifest. The reading system renders the spine items in order — each file naturally starts on a new page. There is no CSS required to force a page break when files are split correctly.
Front matter — title page, copyright, dedication — goes in the spine before the first chapter. These files are typically not listed in the visible nav.xhtml TOC, though they must still be in the manifest and spine.
Heading structure and TOC entries
Inside each chapter XHTML file, the h1 element holds the chapter title. This h1 is what a TOC generator reads to produce the nav.xhtml entry for that chapter. The nav.xhtml link points to the chapter file:
<!-- chapter01.xhtml -->
<body>
<h1>Chapter 1: The Beginning</h1>
<p>The story opens...</p>
</body>
<!-- nav.xhtml TOC entry for this chapter -->
<li><a href="chapter01.xhtml">Chapter 1: The Beginning</a></li>If a chapter file contains subsections (h2 elements), those can also appear as nested TOC entries. See the EPUB TOC guide for the nested nav.xhtml format.
One common mistake: using Bold + large font-size to style a chapter title instead of the h1 element. Bold text styled to look like a heading does not create a TOC entry. TOC generators — including BookKraft's — detect h1/h2/h3 elements, not visual styling. The chapter title must use a real heading element.
CSS page breaks within a single file
When chapter content is split into separate XHTML files, no CSS is needed to force page breaks — the file boundary is a hard break. When multiple sections exist within one file, page-break-before: always on the h1 element requests a new page from the reading system:
h1 {
page-break-before: always;
}This CSS approach is less reliable than file splitting — not every reading system honors it, and it does not solve the navigation problems that come from a single large file. For more on EPUB CSS and page-break properties, see the CSS for EPUB files guide.
Front matter, back matter, and spine order
A complete ebook spine typically follows this order:
- Title page — book title, author, publisher
- Copyright page — copyright statement, ISBN, disclaimers
- Dedication (optional)
- Table of contents page (optional — separate from nav.xhtml)
- Chapters — one file each, in reading order
- Back matter — author bio, acknowledgments, also-by list, sample chapters
All of these are separate XHTML files listed in the spine. Front matter files are typically not included in the nav.xhtml TOC — readers reach them by navigating backward from Chapter 1, or through a separate TOC page in the book. Back matter items like an author bio or also-by section can optionally appear in the TOC if they are long enough to warrant navigation.
Frequently asked questions
Should each chapter be its own XHTML file, or can the whole book be one file?
Each chapter should be its own XHTML file. A single large XHTML file causes slow loading on e-ink devices, navigation problems — the TOC cannot link to a position inside a file on all platforms — and issues with how some reading systems render very long documents. The EPUB spine defines the reading order across multiple files. One file per chapter is the standard and most reliable structure.
How does the chapter break in my content relate to the TOC entry in nav.xhtml?
Each entry in nav.xhtml links to a content file — and optionally to a specific id within that file. If each chapter is its own XHTML file, the TOC entry links to that file: <a href="chapter01.xhtml">Chapter 1</a>. If multiple chapters share one file, the TOC entry must link to an id anchor inside the file: <a href="content.xhtml#ch1">Chapter 1</a>. The one-file-per-chapter structure is simpler: TOC entries are just file links, no id anchors needed.
What is the EPUB spine and how does it control chapter order?
The spine element in content.opf lists the EPUB's content files in the order a reader encounters them. Each itemref element in the spine points to a manifest item by its id. The spine is separate from the TOC — the spine controls what files exist and their order; the TOC controls what readers see in the in-book navigation menu. Both should reflect the same chapter order.
How do I add a chapter break in Microsoft Word before converting to EPUB?
Apply the Heading 1 style — not Bold text, but the actual Heading 1 paragraph style from the Styles panel — to each chapter title. When you export or convert to EPUB, tools that respect Word heading styles will split on Heading 1 and create separate XHTML files for each chapter. If the converter does not split on Heading 1, look for a "split on heading" or "chapter splitting" option in its export settings. BookKraft's Full Manuscript Mode detects Word heading styles automatically.
Can I have front matter (title page, copyright) before Chapter 1?
Yes. Front matter files — title page, copyright, dedication, table of contents page — appear as separate XHTML files in the spine before the first chapter file. Add them to nav.xhtml only if you want them as navigable TOC entries. Most ebooks list front matter in the spine but not in the visible TOC navigation — readers navigate to front matter through the file order, not the TOC menu.
Does KDP require a specific number of chapters or a minimum XHTML file count?
No minimum chapter count or file count is required. KDP does require that the EPUB has a valid navigation document — nav.xhtml or toc.ncx — with at least one entry. Very long single-file EPUBs can cause issues during conversion. Splitting into separate chapter files avoids this and is the recommended structure regardless of chapter count.
For nav.xhtml and toc.ncx format — how chapter TOC entries are written and what KDP validates — see the EPUB TOC guide. For OPF metadata — the required fields in content.opf alongside the spine — see the EPUB metadata guide. For CSS applied to chapter headings and page breaks, see CSS for EPUB files.
For the full EPUB build workflow — from manuscript to store-ready file — see the EPUB formatting guide.
Convert your Word manuscript to a split-chapter EPUB — free.
Upload a .docx or .txt file. Chapter detection splits on Word heading styles and Chapter N patterns automatically. Valid EPUB 3.0 output.
Open Full Manuscript Mode →Already have chapter files? Generate nav.xhtml and toc.ncx from your headings with the TOC Generator.