An open API service indexing awesome lists of open source software.

https://github.com/gjessing1/epub-bookprep

A lightweight Privacy First EPUB Metadata editor
https://github.com/gjessing1/epub-bookprep

docker ebooks epub epub-editor epub2 epub3 isbn-lookup metadata-editor selfhosted-apps

Last synced: 5 months ago
JSON representation

A lightweight Privacy First EPUB Metadata editor

Awesome Lists containing this project

README

          



# EPUB BookPrep
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](https://github.com/mgmeyers/bentopdf) in both philosophy and workflow.*


Latest release
GitHub stars



## Live demo (temporary)
A public demo is available for testing and evaluation:

👉 **[Try the demo](https://gjessing.io/epub/demo/)**

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.

## Features
- 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

## Screenshots (Mobile view)


Mobile view
Mobile view
Mobile view
Mobile view
Mobile view

## Key principles
- 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.

## What this tool is not
Not an ebook library manager
Not a reader application
Not a full EPUB editor or authoring tool
Not a replacement for Calibre or Sigil

## Typical use case
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

## Deployment
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`](/examples/docker-compose.yml)
- Start the service from the same directory:
```bash
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

## Like the project?
Please consider buying me a coffe, I really do drink it alot!