EPUB BookPrep is a selfhosted, privacy-first, stateless web tool for preparing clean, standards-compliant EPUB metadata. Upload a file, make precise edits, and download a corrected EPUB, no accounts, no background processing, and no files stored on the server.
- Simple install with Docker image available.
- No configuration necessary
The project is inspired by BentoPDF in both philosophy and workflow.
A public demo is available for testing and evaluation:
The demo is intended for light, manual testing only.
Uploaded files are processed in memory and are not stored, but availability and uptime are not guaranteed.
For regular use, self-hosting via Docker is recommended.
- Inspect and edit common EPUB metadata fields
(title, author, language, publisher, series, identifiers, description) - Fetch metadata from public sources using ISBN or title-based search
- Review and selectively apply fetched metadata to avoid incorrect matches
- Search for available cover images, preview alternatives, and explicitly choose whether to replace or keep the existing cover
- Clean and normalize metadata:
- trim whitespace
- normalize date formats
- strip HTML from descriptions
- deduplicate subjects
- Preview how metadata will appear in OPDS-based clients before importing into a library or reader
- EPUB 3 editor with EPUB 2 backward compatability
- Extremely lightweight: the Docker container uses under 30 MB of host memory, as all processing happens in the browser.
- Light and dark mode support
- Uploaded files are processed entirely in memory and are never stored on disk. Once a request completes, no files or metadata remain on the server.
- The app only modifies EPUB metadata (OPF and related fields). Book content, structure, and reading experience are left untouched.
- The tool avoids deep EPUB “repair” or content manipulation to ensure results are easy to understand and trust.
- Only EPUB files are supported. Other ebook formats are intentionally out of scope.
- The application runs out of the box with no required configuration or environment variables.
Not an ebook library manager Not a reader application Not a full EPUB editor or authoring tool Not a replacement for Calibre or Sigil
Upload an EPUB file
- Inspect and adjust metadata (title, author, language, series, cover, etc.)
- Optionally enrich metadata from public sources
- Download a cleaned EPUB
- Import the result into your library or reader of choice
The application is distributed as a Docker container and can be run either behind a reverse proxy or directly via a mapped port. No volumes are required, as uploaded files are processed entirely in memory and never persisted.
- Download the example compose file:
docker-compose.yml - Start the service from the same directory:
docker compose up -d
- The application listens on port 3007 by default.
- Access it via http://localhost:3007, or expose it through a reverse proxy such as Caddy, Traefik, or Nginx
- Show EPUB version (2 or 3) of the file being edited.
- Add a loading indicator for large uploads (>30MB).
Please consider buying me a coffe, i really do drink it alot!





