Skip to content
Projects

veripublica/epubveri has 26 GitHub stars and 0 forks. Star changes are not measured yet. Last checked 2026-11-13 10:07 UTC. Last push 2026-11-13.

How these counts are measured

Measured star growth

in 24h
Collecting history
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Pure-Rust EPUB validator — a fast, JVM-free, embeddable alternative to epubcheck

Developer Tools

README.md

Original

epubveri

epubveri checks an EPUB file against the EPUB specification and tells you what is wrong with it and where. It does the same job as W3C's epubcheck and reports the same message IDs, so its output will look familiar if you know that tool. epubcheck needs Java. epubveri doesn't: it's a small program written in Rust, and it also runs in a web browser, where your book never leaves the page.

I built it for people who make ebooks, and for software that has to check them, such as editors and conversion pipelines, where shipping a Java runtime is a problem.

To check a book right now, try it in your browser. If you edit in Sigil or calibre, my plugins run it for you. Otherwise download the program from the releases page (step by step) or install it with Rust:

cargo install epubveri

Then point it at a book:

$ epubveri -i book.epub
ERROR RSC-007: reference to a resource missing from the publication: 'cover.jpg' [OEBPS/ch1.xhtml:6:4]
— 1 error(s), 0 warning(s): INVALID

It's also a Rust crate, and an npm package called @veripublica/epubveri-wasm.

epubveri never changes your book. Its sibling epubsana repairs the problems that have one right answer. If a retailer asks for epubcheck by name, run epubcheck as well: epubveri follows the specification where the two disagree, so passing one isn't the same as passing the other. The differences are listed in AGENTS.md.

If epubveri reports an error on a book you believe is fine, please open an issue. That's the report I most want.

The licence is AGPL-3.0. If that doesn't work for your product, a commercial licence is available: see LICENSING.md or write to [email protected]. I can't accept pull requests yet, and CONTRIBUTING.md explains why.

Options, exit codes, the API, limits, measurements and how to build it are all in AGENTS.md.

Explore related projects