Validate an EPUB file before publishing it to catch broken metadata or links.
Automatically reject malformed EPUB files in a retailer or distributor's ingestion pipeline.
Embed lightweight EPUB validation in a desktop, mobile, or browser based reading app.
Add EPUB validation as a Rust library dependency instead of shelling out to a Java process.
| veripublica/epubveri | browsersync/bslive | codeitlikemiley/snip-cli | |
|---|---|---|---|
| Stars | 7 | 7 | 7 |
| Language | Rust | Rust | Rust |
| Last pushed | — | 2026-07-19 | 2024-12-09 |
| Maintenance | — | Active | Stale |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Pre-built binaries are available for macOS, Windows, and Linux, so installing Rust yourself is not required.
epubveri is a tool that checks whether an EPUB ebook file is correctly built according to the official EPUB specification. An EPUB file is really a ZIP archive containing HTML-like chapter files, metadata about the book, and a few required structural pieces. It is easy to produce a file that opens fine in one reading app but is technically broken, missing a required piece of metadata, pointing to a file that does not exist, or having a table of contents that leads to the wrong place. Some apps quietly tolerate these problems while others reject the file outright. A validator's job is to catch these issues before a reader ever encounters them, and epubveri does exactly that: feed it a file, and it reports exactly what is wrong, with a short code and a plain language message. The existing standard for this job is epubcheck, an official validator maintained by the W3C that most publishing pipelines already use. epubveri is not trying to replace its authority, but to solve one practical problem: epubcheck is written in Java and needs a Java runtime to run, which is inconvenient for validating files inside a web browser, embedding a check inside a desktop or mobile app, or running validation quickly in a command line tool or automated pipeline. epubveri is written entirely in the Rust programming language with no Java or C dependency, so it compiles into a small fast program, and can also compile to WebAssembly so the same validation logic could eventually run directly inside a browser tab. It reuses epubcheck's own error codes so existing tooling built around epubcheck's output recognizes epubveri's results too. The tool checks an EPUB file at several levels: the container structure, the package document that lists every file in the book and their reading order, the actual chapter content and its internal links, and optional EPUB extension features that only apply when a book uses them. The project is honest that it is still pre 1.0 and under active development, not yet a full drop-in replacement, though it is tested against epubcheck's own test suite and currently matches epubcheck's results on most valid and invalid test cases. Pre-built binaries exist for macOS, Windows, and Linux, alongside a published Rust crate and a WebAssembly build on npm, so people who do not want to install Rust can still try it directly.
A fast, pure Rust EPUB file validator that checks ebooks against the official EPUB specification without needing a Java runtime like the standard epubcheck tool does.
Mainly Rust. The stack also includes Rust, WebAssembly, npm.
License details are not shown in this excerpt of the README.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.