Many publishers have a backlist full of EPUB 2 files. They still open on most e-readers, they still sell, and nobody has complained. So why convert them?
Because EPUB 2 was finalised in 2010, before accessibility became a legal requirement. The European Accessibility Act has applied to e-books sold in the EU since June 2025, and the EPUB Accessibility 1.1 standard that retailers and libraries check against is written for EPUB 3. An EPUB 2 file has no proper place for accessibility metadata, no navigation document, and no semantic markup. Fixing accessibility in an older book starts with upgrading it.
What Is Different in EPUB 3?
The current version, EPUB 3.3, became a W3C Recommendation in 2023. These are the changes that matter for a backlist:
| Area | EPUB 2 | EPUB 3 |
|---|---|---|
| Table of contents | toc.ncx (NCX file) | nav.xhtml navigation document |
| Landmarks | <guide> element | landmarks nav in the navigation document |
| Print page numbers | Optional pageList in the NCX | page-list nav, linked to page markers in the text |
| Content markup | XHTML 1.1 | HTML5, with epub:type and ARIA roles |
| Accessibility metadata | No standard fields | schema:accessMode, accessibilityFeature, accessibilityHazard, accessibilitySummary |
| Cover image | <meta name="cover"> | properties="cover-image" on the manifest item |
| Last modified date | Not required | Exactly one dcterms:modified |
The Version Number Is Not the Upgrade
The tempting shortcut is to open the package file and change version="2.0" to version="3.0". (That is still the right value for EPUB 3.3: the version attribute did not change after 3.0.)
That one edit tells reading systems the book is EPUB 3, but the content is still EPUB 2 underneath. In most older books, chapter titles are styled paragraphs such as <p class="chapter-title"> rather than real headings, and chapters are not marked up as chapters. Screen readers navigate by that structure, not by the version number, so the book still behaves like an EPUB 2 to anyone using one. A real upgrade touches the package file, the navigation, and every content file.
What the Upgrade Involves
1. Rewrite the package metadata
After changing the version, declare the EPUB namespace on the <package> element, then fix the metadata EPUB 3 no longer accepts:
opf:attributes. EPUB 2 put details on the element itself, such as<dc:creator opf:role="aut" opf:file-as="Smith, Jane">. EPUB 3 forbids these.opf:roleandopf:file-asbecome separate<meta refines="...">elements, andopf:schemeon an identifier becomes anidentifier-typerefinement.opf:eventhas no EPUB 3 equivalent. Remove it. Do not invent a replacement property: an undefined property is itself a validation error.- One date only. EPUB 2 books often carry several
<dc:date>elements, one per event. EPUB 3 allows one. - Leftovers. Remove
xsi:typeattributes and any emptydc:elements, and add exactly onedcterms:modifieddate, in UTC to the second (for example2026-11-09T00:00:00Z). - The cover. Mark the cover image with
properties="cover-image"in the manifest.
2. Build the navigation document
Create nav.xhtml from the existing NCX and add it to the manifest with properties="nav". Three details catch people out:
- Escape special characters. A table of contents entry like "Smith & Sons" must be written as
Smith & Sons, or the whole book fails to parse. - Never write an empty table of contents. If the NCX has no usable entries, an empty list makes the book invalid, which is worse than having no navigation document.
- Watch for duplicates. If the book already ships a
Nav.xhtml, do not add anav.xhtmlbeside it. Two names that differ only by case are rejected by EPUBCheck.
Keep the NCX. EPUB 3 allows it, and older reading systems that only understand EPUB 2 still use it. Removing it can stop the book opening on older devices.
3. Replace the guide with landmarks
The old <guide> element is deprecated. Before you delete it, use it: where the publisher filled it in correctly, it tells you which file is the cover, the title page, the dedication, and so on. That is useful for labelling front matter in the next step. Then add a landmarks list to the navigation document, and a page-list if the book has print page markers.
4. Convert the content files to HTML5
This is where the errors nobody expects appear:
- Doctype. Replace the XHTML 1.1 doctype with
<!DOCTYPE html>. - Named entities. The old doctype quietly defined about 250 named entities, such as
—and®. Remove it, and every one of those becomes a fatal error. Convert them to numeric references (—,®). - Bare ampersands. A heading like "Preface & Acknowledgments" written with a raw
&breaks the XML parser. Screen readers may then read the link as empty. - Hidden characters. Some authoring tools put a byte-order mark before the XML declaration, which makes the file malformed.
- Old elements. Tags like
<font>,<big>,<tt>, and<strike>no longer exist in HTML5. Replace them with CSS. - File names. Renaming
.htmlfiles to.xhtmlis common practice; if you do, update every link, the manifest, and the NCX to match.
5. Add real structure
Now fix what the version number never could. Turn styled paragraph titles into real headings, wrap each chapter in <section epub:type="chapter" role="doc-chapter">, and give front matter its proper roles: cover, title page, copyright page, dedication, foreword. Add lang and xml:lang attributes to every file.
6. Add accessibility metadata
Describe how the book can be read: its access modes, its features (such as alternative text and a table of contents), its hazards, and a short plain-language summary. This is what retailers and library systems show to readers who need it.
7. Validate
Run the finished file through EPUBCheck to confirm it is valid EPUB 3, and through Ace by DAISY to see what accessibility issues remain. Expect Ace to find plenty: the upgrade makes accessibility possible, but it does not make the book accessible on its own.
What an Upgrade Does Not Fix
These need a person, or at least a person checking a tool's work:
- Alternative text. Every informative image needs a description. A converter has nothing to write it from.
- Tables. Data tables need proper header cells. Tables saved as images need rebuilding or a full description.
- Images of text. Sidebars, equations, and pull quotes saved as pictures are invisible to a screen reader.
- Reading order. Boxes and sidebars that read correctly on the page can land in the wrong place in the text.
Doing It by Hand or With a Tool
For a handful of titles, an experienced production editor can do all of this by hand, with help from free editors such as Sigil and Calibre. Budget time for the validation errors: they are where most of the hours go.
For a backlist of dozens or hundreds of titles, the same handful of problems repeats in every book, which is the kind of work worth automating. That is what our HoloRemedi platform does. It accepts EPUB 2 or EPUB 3 and always returns EPUB 3.3 with a valid navigation document. On an EPUB 2 it rewrites the package metadata, builds the navigation document from the book's own NCX and keeps the NCX in the file, adds structure to chapters and front matter, and fixes the doctype and entity errors described above. Then it carries on with the rest of the repair: AI-drafted alt text for every image, accessibility metadata, and a conformance report at the end.
The upgrade is charged per page, quoted before it runs, and only when HoloRemedi can confirm from the file itself that it is EPUB 2. If it cannot, there is no upgrade charge.
Where to Start
- Find out what you have. List your EPUB files and check the
versionattribute in each package file. - Prioritise. Start with titles that sell in the EU, are used in education, or are licensed to libraries.
- Upgrade, then remediate. Convert the format first, then fix what Ace reports.
- Keep the reports. EPUBCheck and Ace reports are your evidence of compliance if a distributor or regulator asks.
---
If your backlist is still on EPUB 2, you can try HoloRemedi on your own files, or schedule a free consultation and our team will run the conversion and remediation for you.
Holograph Press Works remediates EPUB and PDF files to WCAG 2.2 AA and EPUB Accessibility 1.1 standards, using our HoloRemedi platform for EPUB, with PDF support coming soon. Every project includes official Ace and PAC3 PDF compliance reports. Request a consultation →