Open-source web application for converting PDF documents into fixed-layout EPUB books, readable Excel workbooks and table-only CSV files.
The EPUB output preserves every PDF page as an image and adds a precisely positioned, selectable text layer. The spreadsheet workflow extracts document content into XLSX and exports detected tables as combined or separate CSV files.
Live application: https://w1neskin.github.io/pdf-epub-converter/
- Fixed-layout EPUB 3 output
- Original PDF page appearance
- Selectable and copyable text
- Precise selection inside table cells
- Built-in responsive EPUB reader
- Personal EPUB library
- Readable XLSX workbook with one worksheet per PDF page
- Text and detected tables in the same workbook
- Combined CSV containing all detected tables
- ZIP archive with one CSV file per table
- OCR fallback for scanned documents
- Local PDF preview before conversion starts
- Drag-and-drop and standard file selection
- PDF metadata, page count and size validation
- Two clear workflows: EPUB or Excel with tables
pdfplumber, Camelot and Tesseract OCR table extraction- Fixed-layout page images generated with Poppler
- Invisible text overlay with character coordinates
- Authentication with JWT and Supabase
- Cloudinary storage for saved EPUB books
- Searchable library with list and grid views
- Desktop and mobile responsive interface
- Open the online converter.
- Create a free account or sign in.
- Upload a PDF and review it in the browser.
- Choose EPUB book or Excel + tables.
- Start conversion and wait for processing.
- Download the result or open the EPUB in the built-in reader.
The current free service accepts PDF files up to 50 MB and 50 pages.
- React 19
- styled-components
- pdf-lib
- JSZip
- GitHub Pages
- Python and FastAPI
- pdfplumber and PyPDF2
- pdf2image and Poppler
- Camelot
- Tesseract OCR
- openpyxl
- Railway
- Supabase authentication and database
- Cloudinary EPUB storage
- JWT service authentication
React frontend on GitHub Pages
|
v
API Gateway
| | |
v v v
Auth Converter Library
| | |
+---- Supabase -----+
|
Cloudinary
The converter renders PDF pages, extracts positioned text, creates fixed-layout XHTML and packages the result as EPUB 3. The table workflow orders extracted text and tables before generating XLSX, CSV and ZIP outputs.
Clone the repository:
git clone https://github.com/W1neSkin/pdf-epub-converter.git
cd pdf-epub-converterStart the React frontend:
cd frontend
npm install
npm startFor the complete microservices environment, configure the required Supabase, Cloudinary and JWT variables, then run:
docker compose -f docker-compose.microservices.yml up --buildSee environment setup and the microservices guide for configuration details.
Frontend:
cd frontend
npm test -- --watchAll=false
npm run buildBackend:
python -m pytest testsBug reports, feature requests, documentation improvements and pull requests are welcome through GitHub Issues.