# EPUBCheck HTM-003: external entity declared, how to fix it

Source: https://epubcc.com/epubcheck/htm-003/ (updated 2026-11-04)

EPUBCheck HTM-003 is an error message: “External entities are not allowed in EPUB v3 documents. External entity declaration found: ….” An EPUB 3 document declares an external entity, which EPUB does not allow. External entities pull text from another file through the DOCTYPE, and reading apps do not resolve them, so the text would be missing.

- Official message (EPUBCheck 5.4.0): External entities are not allowed in EPUB v3 documents. External entity declaration found: %1$s.
- Default severity: Error

## Typical causes

- A DOCTYPE with an internal subset (the part in square brackets) that declares entities loaded from an external file.
- XML exported from a publishing system that used entity files for shared text such as the book title.

## How to fix it

1. Open the file EPUBCheck names (the message gives the path, line and column) in a text or EPUB editor such as Sigil, or unzip the EPUB and open it there.
2. Remove the entity declarations from the DOCTYPE; in XHTML chapters the DOCTYPE should be just <!DOCTYPE html>.
3. Replace each use of the entity with the real text, or with a numeric character reference such as &#160; when it stood for a single character.
4. Rebuild the EPUB and run EPUBCheck again to confirm the message is gone.

## When it's not this

If an entity such as &nbsp; is used without being declared at all, that is HTM-011, not HTM-003.

## Sources

- EPUB 3.3, §3.9 XML conformance: https://www.w3.org/TR/epub-33/#sec-xml-constraints (read 2026-11-04)

Message text and severity: EPUBCheck (W3C, BSD-3-Clause). Explanation: EpubCC.
