VoxForge
Back to blog

How to Prepare an EPUB for Audiobook Production

Audit an EPUB's reading order, navigation, headings, dialogue, images, notes, and hidden text before turning it into a narration script.

Aug 13, 2026Elena AshfordElena Ashford
Audiobook ProductionEditorial Workflow
How to Prepare an EPUB for Audiobook Production

An EPUB is a package of structured web documents, not a plain manuscript with a different extension. Converting it to an audiobook requires more than stripping HTML. The package contains a declared reading order, navigation, metadata, headings, images, footnotes, hidden accessibility text, and styling that can change meaning.

Preserve the original EPUB. Create an auditable extraction and an approved narration script. The goal is to carry the book's meaning into audio while making every omission or adaptation explicit.

Validate the source and identify the edition

Record filename, checksum, title, creator, language, identifier, and modification date before extraction. If the author sends a new file, you must know whether production is based on it.

Run an EPUB conformance checker and review errors. A reading app may tolerate broken links or malformed markup that an extraction pipeline handles unpredictably. Validation does not approve editorial content, but it exposes structural risks early.

The W3C EPUB 3.3 specification defines an EPUB as a ZIP-based container with a package document, manifest, spine, and content documents. Use those declarations rather than alphabetically reading every HTML file in the archive.

Follow the spine, then compare navigation

The spine declares default reading order. Extract linear spine items in that order, recording the source path and stable section ID. Do not assume filenames such as chapter10.xhtml sort correctly.

Compare the extracted order with the EPUB navigation document. W3C describes that document as the machine- and human-readable table of contents. Differences deserve review:

  • a spine item absent from navigation may be front matter or an error;
  • a navigation link may point inside a larger document;
  • non-linear resources may be supplementary;
  • a page list is not the same as the main table of contents.

Create an audio-edition manifest that explicitly includes or excludes each section. Do not silently discard copyright, dedication, acknowledgments, or notes because they lack “Chapter” headings.

Extract semantic text, not page chrome

Parse content documents as HTML/XHTML. Preserve paragraphs, headings, emphasis, lists, quotations, and language changes. Remove style and script only after deciding whether they carry content.

Common noise includes:

  • running headers and page numbers imported from print;
  • duplicate visible and accessibility labels;
  • navigation repeated in each document;
  • hidden pronunciation or layout spans;
  • image filenames and decorative alt text;
  • soft hyphens and non-breaking spaces;
  • footnote backlinks read as stray symbols.

Normalize whitespace without flattening paragraph boundaries. Paragraphs help identify speaker changes and pauses. Preserve em dashes, ellipses, and italics as semantic annotations for the dialogue script, not crude fixed-duration commands.

Treat headings as structure

Map heading levels and visible titles to section IDs. A styled paragraph may look like a heading without using an h1h6 element, while a hidden heading may exist only for navigation. Compare markup, CSS result, and table of contents.

Decide which heading is spoken. A chapter file generally needs a spoken header, but repeating a book title, part title, and chapter title at every boundary can sound redundant. Record the approved spoken form separately from the display text.

Check chapters represented only by images. ACX's current voice replica preparation guidance warns that chapter names formatted as images will not be read as text and recommends a complete text table of contents. Even outside that workflow, image headings need transcription and editorial verification.

Classify images, tables, and visual meaning

For every image, capture alt text, caption, nearby references, and role:

  • decorative;
  • redundant with prose;
  • useful but nonessential;
  • essential to understanding;
  • text-bearing.

Decorative images are usually omitted. Essential diagrams, maps, charts, or photographs may need a concise approved description. Avoid reading raw alt text automatically; it may be written for screen-reader navigation, contain a filename, or duplicate a caption.

Tables need adaptation. A small table may be read by rows; a large reference table may require a summarized explanation or accompanying material. Preserve all source data and obtain editorial approval for the audio form.

Footnotes can interrupt narration if inserted where markers appear. Extract each note, its backlink, and its containing sentence. Decide whether it is:

  • spoken inline;
  • moved to the end of a section;
  • summarized;
  • omitted with approval;
  • supplied as accompanying material.

Remove backlink labels such as “return to text.” Do not read long URLs unless the information requires them. A link's visible words may be sufficient, while a resource list may need a downloadable companion.

Endnotes and citations have different expectations in fiction and scholarship. Set an edition-level rule, then document exceptions instead of deciding during rendering.

Normalize spoken forms safely

Create a render layer for abbreviations, numbers, symbols, and pronunciations. Preserve original text beside it.

Never use blind global replacements. St. may mean Saint or Street; read can be present or past tense. Language metadata such as lang="fr" can help select pronunciation, but it does not prove dialect or performance.

Feed uncertain names into the audiobook pronunciation guide. Record context and source rather than encoding a guess permanently into extracted text.

Reconcile speakers and aliases

Run speaker detection on the cleaned, paragraph-preserving script. Then review every low-confidence segment and merge aliases. EPUB markup can split one utterance across emphasis spans, links, or page-break markers; extraction must rejoin the textual sentence before attribution.

Compare the result with the character inventory. Any speaking name missing from the inventory or inventory role with no lines is a useful warning, not automatic proof of an error.

Short utterances, dialogue interrupted by action, nested quotations, and multi-paragraph speeches deserve manual attention.

Produce an extraction report

The report should state:

  • source checksum and validation result;
  • spine and navigation order;
  • included, omitted, and adapted sections;
  • counts of paragraphs, words, images, tables, and notes;
  • unresolved headings or broken links;
  • text normalization rules;
  • speaker-attribution confidence;
  • pronunciation candidates;
  • script output checksum.

Fail closed on unclassified blocks. If the parser finds text but cannot assign it to a section or disposition, stop instead of dropping it.

Listen to a representative chapter

Before processing the whole book, render a chapter with dialogue, emphasis, notes, and at least one structural boundary. Follow the approved EPUB while listening. Check missing text, repeated navigation, unnatural number expansion, speaker changes, and whether visual information was handled as planned.

Then freeze the extraction rules and run the entire book. Spot-check the first and last paragraph of every source document to catch boundary loss.

VoxForge accepts EPUB and can detect chapters and characters, but imported structure remains a draft for producer review. Confirm the chapter manifest and speaker map before a long render.

A good conversion is traceable: each spoken segment points to source text, and each source block has an explicit audio disposition. Follow the EPUB's declared structure, preserve semantics, review visual adaptations, and keep the original beside the render layer. That is how an ebook becomes a reliable production script rather than a pile of extracted strings.