Top Related Projects
The conformance checker for EPUB publications
Quick Overview
EPUBCheck is an open-source tool for validating EPUB files, developed and maintained by the W3C. It checks the structural and content integrity of EPUB publications, ensuring they conform to the EPUB specifications. EPUBCheck is widely used by publishers, authors, and ebook developers to verify the quality and compatibility of their EPUB files.
Pros
- Comprehensive validation of EPUB 2 and EPUB 3 files
- Detailed error reporting and suggestions for fixes
- Available as both a command-line tool and a graphical user interface
- Regularly updated to support the latest EPUB specifications
Cons
- Can be resource-intensive for large EPUB files
- Some error messages may be technical and difficult for non-experts to understand
- Occasional false positives in certain edge cases
- Limited support for custom validation rules
Getting Started
To use EPUBCheck, follow these steps:
- Download the latest release from the GitHub releases page.
- Extract the downloaded ZIP file.
- Open a terminal and navigate to the extracted directory.
- Run EPUBCheck using the following command:
java -jar epubcheck.jar /path/to/your/book.epub
For the graphical user interface version:
java -jar epubcheck-gui.jar
For more advanced usage and options, refer to the official documentation.
Competitor Comparisons
The conformance checker for EPUB publications
Pros of epubcheck
- Well-established and widely used EPUB validation tool
- Comprehensive checks for EPUB 2.0 and 3.0 specifications
- Actively maintained with regular updates and bug fixes
Cons of epubcheck
- Can be resource-intensive for large EPUB files
- May produce false positives in some edge cases
- Learning curve for interpreting detailed validation reports
Code Comparison
Both repositories contain the same codebase, as they are mirrors of each other. Here's a sample from the EpubCheck
class in both repositories:
public EpubCheck(File epubFile, Report report, String profile) {
this.epub = epubFile;
this.report = report;
this.profile = profile;
this.checkerFactory = new CheckerFactory(this);
}
The code structure and functionality are identical in both repositories, as they represent the same project. The main difference lies in the hosting and potential community engagement on different platforms.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
EPUBCheck
EPUBCheck is the official conformance checker for EPUB publications. EPUBCheck can be run as a standalone command-line tool or used as a Java library.
EPUBCheck is open source software, maintained by the DAISY Consortium on behalf of W3C.
We Need Your Support!!
Financial support is critical to the development of EPUBCheck, the tool we all use to validate EPUB files.
We need to make sure that the resources are adequate to both update the tool and provide for its continued maintenance over the next two years;
please help us fund and support EPUBCheck, and join the list of donators!
Downloads
Check the releases page to get the latest distribution.
EPUBCheck v5.1.0 is the latest production-ready release, to be used to validate both EPUB 2 and 3 files. EPUB 3 publications are checked against the EPUB 3.3 specification.
Documentation
Documentation on how to use EPUBCheck, to contribute to the project or to translate messages is available on the EPUBCheck wiki.
Technical discussions are held on our public mailing list. To subscribe to the mailing list, send an email with subject subscribe
to public-epubcheck-request@w3.org. To participate in the discussion, simply send an email to public-epubcheck@w3.org.
Historical archives of discussions prior to October 2017 are stored at the old EPUBCheck Google Group.
Building EPUBCheck
Build from sources
To build epubcheck from the sources you need Java Development Kit (JDK) 1.7 or above and Apache Maven 3.0 or above installed.
Build and run tests:
$ mvn clean install
Will copy *.jar
files and packages to target/
folder...
Build using docker
To build the epubcheck using docker, use the build command below:
$ docker build . -t epubcheck
To run the epubcheck image as container, use example command below:
# one directory in the host need to be mapped (using docker volume) to /data path
# within container. the particular path will be used as a bridge to enable access
# over the epub file or the generated output file between host and container.
$ docker run -it --rm -v <directory>:/data epubcheck --help
$ docker run -it --rm -v <directory>:/data epubcheck <epub-file> [OPTIONS]
# example 1:
# execute an epub check over a file located in /home/username/file.epub on the host.
# the output will be printed to the console
$ docker run -it --rm -v /home/username:/data epubcheck file.epub
# example 2:
# execute an epub check over a file, and then generate an output file
# in /data/output.json within container.
# since /data is mapped via volume, then the generated file will be accessible
# from /home/username/output.json in the host
$ docker run - --rm -v /home/username:/data epubcheck file.epub --json output.json
Credits
EPUBCheck v5.1.0 was developed by the DAISY Consortium, on behalf of W3C.
Initial EPUBCheck development was largely done at Adobe. A significant part of EPUBCheck functionality comes from the schema validation tool Jing, used with schemas from the Nu HTML Checker, IDPF, and DAISY.
Past and present EPUBCheck developers include: Romain Deltour, Matt Garrish, Tobias Fischer, Markus Gylling, Steve Antoch, Peter Sorotokin, Thomas Ledoux, Masayoshi Takahashi, Paul Norton, Piotr Kula, Arwen Pond, Liza Daly, Garth Conboy, and several others.
Many thanks to the numerous people who have contributed to the evolution of EPUBCheck through bug reports, pull requests, and translations!
Donators
The following organizations are supporting the development of EPUBCheck by their contribution to the fundraising initiative:
License
EPUBCheck is made available under the terms of the 3-Clause BSD License
Top Related Projects
The conformance checker for EPUB publications
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot