Drag & Drop PDF file here
or click to browse — never uploaded to any server
✅ PDF Files OnlyConvert any PDF into a clean, reflowable EPUB3 ebook. Smart heading detection builds your table of contents automatically. Download a fully valid EPUB file — entirely in your browser.
Upload your PDF, customize metadata and settings, preview extracted content, then download your EPUB3 ebook.
Drag & Drop PDF file here
or click to browse — never uploaded to any server
✅ PDF Files OnlyNo PDF loaded yet
Upload a PDF above and click "Load PDF & Extract Content"
The design principles behind this tool — and what to look for in any PDF-to-ebook converter you use.
EPUB is reflowable by nature — text adapts to any screen and font size. We extract real text, not page images.
Font-size analysis identifies headings, builds a proper TOC, and tags chapters — not just a flat blob of text.
Your PDF is parsed and packaged entirely in your browser using PDF.js and JSZip — never on a remote server.
Output is a valid EPUB3 archive with OPF, NAV XHTML, NCX, cover, and CSS — opens in every modern reader.
Convert PDFs to clean, reflowable EPUB3 ebooks privately in your browser — with auto TOC, custom cover, and full metadata support.
prefers-color-scheme, with no manual toggling.A valid EPUB is a ZIP archive with a specific folder structure and required files.
| File / Folder | Purpose |
|---|---|
mimetype | First file in ZIP (uncompressed): application/epub+zip — required by EPUB spec |
META-INF/container.xml | Points reader to the OPF package file location |
OEBPS/content.opf | OPF3 package: metadata (title, author, language, UUID), manifest of all files, spine reading order |
OEBPS/toc.ncx | EPUB2-compatible NCX navigation for older ebook readers (Kindle, older Kobo) |
OEBPS/nav.xhtml | EPUB3 NAV document with epub:type="toc" — provides clickable TOC in modern readers |
OEBPS/cover.xhtml | SVG-based cover page with title and author; listed first in the spine |
OEBPS/styles.css | Embedded CSS: font-size, line-height, font-family, heading styles, paragraph margins, RTL support |
OEBPS/page_NNN.xhtml | One XHTML content file per selected PDF page with tagged H1/H2/H3 headings and <p> paragraphs |
From PDF upload to a fully valid EPUB3 ebook in under a minute.
For the curious: a look at exactly what the tool does between the moment you drop your PDF and the moment your EPUB3 downloads.
When you drop or select a PDF, the browser hands it to JavaScript as a Blob. The bytes never touch the network — they exist only in your tab's memory.
Mozilla's PDF.js library opens the file, decodes its internal object tree, and exposes each page as a renderable object with its content streams and text items.
For every page we render an off-screen HTML5 canvas at 75% scale, then convert it to a JPEG data URL so the page grid can show real previews.
PDF.js's getTextContent() returns every text item with X/Y coordinates and font transform — we capture the height of each glyph as its font size.
Items are clustered by Y-coordinate (within ±3px) into raw lines. This avoids fragmented words and produces clean horizontal text runs.
We compute the median font size across every text item in the document — that's the "body" size we compare against to identify headings.
Lines significantly larger than the median (default 1.6× threshold) are flagged as headings, with H1/H2/H3 assigned by relative size ratio. Length filters reject false positives.
Consecutive non-heading lines are joined into single paragraph blocks, giving you natural reflowable text rather than every PDF line as its own paragraph.
JSZip writes mimetype (uncompressed), container.xml, content.opf, nav.xhtml, toc.ncx, cover.xhtml, styles.css, and one XHTML per page — all in correct EPUB3 structure.
JSZip produces the final binary and the browser offers it as a Blob download. Your EPUB moves straight from tab memory to disk.
Understanding the structure of an EPUB file explains why it can render so beautifully on every device.
At its core, an EPUB file is a ZIP archive renamed with the .epub extension. Rename one to .zip and you can open it like any other archive. Inside you'll find XHTML content files, CSS, a manifest, and navigation files — all standard web technology, just packaged for offline reading.
EPUB began as an IDPF (International Digital Publishing Forum) specification in 2007. In 2017, IDPF merged into the W3C, which now maintains the EPUB standard alongside HTML, CSS, and the other open web standards. EPUB 3.3 — published in 2023 — is the current version.
Inside the OEBPS folder, every page of your ebook is an XHTML5 document. That means headings are real <h1>/<h2> tags, paragraphs are real <p> tags, and styling is real CSS. This is why ebook readers can change font size, switch to night mode, and reflow text — they're rendering web pages.
For maximum compatibility, every modern EPUB ships with two navigation files. The new one, nav.xhtml, is a standard XHTML document with epub:type="toc" attribute on its nav element — used by EPUB3 readers. The legacy one, toc.ncx, is an older XML format used by EPUB2 readers like older Kobo, older Kindles via conversion, and Adobe Digital Editions. This tool writes both, so your EPUB works everywhere.
The content.opf file is the heart of an EPUB. It contains three sections: metadata (Dublin Core title, author, language, identifier), manifest (every file in the EPUB, with its media type), and spine (the reading order). Without a valid OPF, an EPUB won't open.
The fundamental difference is reflow. PDFs have fixed page dimensions — change the font size and text is cut off or microscopic. EPUBs reflow — change the font size on a 6" phone and the text re-paginates to fit. That's why every dedicated ebook reader uses EPUB or an EPUB-derived format as its primary input.
From OEB to modern EPUB3 — how the open ebook format became the de facto digital book standard.
PDF is great for printing; EPUB is great for reading. Here's where the conversion really shines.
PDFs are painful on small screens. EPUB reflows to any width with adjustable font size — perfect for phones.
Kobo, Nook, Boox, and the Kindle app prefer EPUB. Convert your PDF books for a real ebook reader experience.
Authors often have a finished PDF but need EPUB for Kobo, Google Play, Apple Books, or Smashwords distribution.
Build a clean ebook library in Calibre by converting your PDFs to EPUB — searchable, taggable, and reflowable.
Convert PDF textbooks to EPUB for easier study on tablets, with proper highlighting and note-taking support.
50-page+ business reports read much better as EPUB on a phone during a commute than as a static PDF.
Combine multiple article PDFs into a single readable EPUB anthology with proper navigation between pieces.
Screen readers handle EPUB much better than PDF. Convert PDFs to EPUB for visually-impaired readers.
Old PDF scans of public-domain books become real reflowable ebooks after conversion — much more enjoyable to read.
Convert technical PDFs into EPUBs that you can read on the couch — with text reflowing to any screen size.
Combine episode show-notes PDFs into a single EPUB you can browse offline on long trips with no signal.
Reading a 300-page conference PDF on a phone is impossible. Convert to EPUB and it becomes a real ebook.
EPUB text is more reliably searchable than PDF text — particularly for documents where PDF text extraction was poor.
Share a book pick as EPUB so everyone can read on their preferred device — Kindle, Kobo, Apple Books, or phone app.
Source PDFs convert cleanly to EPUB for use in translation tools that prefer structured XHTML over PDF layouts.
Authors with PDF manuscripts can create a quick EPUB for beta readers who prefer phones or e-ink readers.
Compile favourite essays, recipes, or memoirs into a beautifully-covered EPUB gift for friends and family.
Keep PDFs as your "preservation master" and EPUBs as your "reading copies" — best of both formats.
The four major formats you'll see in the ebook world, side by side, so you know which one to use when.
| Property | 📗 EPUB3 | 📚 MOBI | 🟧 AZW / AZW3 | |
|---|---|---|---|---|
| Standardization | W3C open standard | ISO 32000 | Vendor (Amazon) | Vendor (Amazon) |
| Reflowable text | Yes | Fixed layout | Yes | Yes |
| Underlying tech | HTML5 + CSS3 + SVG | PDF page objects | Simplified HTML | HTML5 + CSS3 |
| Universal reader support | Excellent | Everywhere | Limited | Kindle only |
| Adjustable font size | Yes | No | Yes | Yes |
| Mobile-friendly reading | Native | Poor | Yes | Yes |
| Print fidelity | Varies | Excellent | Varies | Varies |
| DRM common in practice | Sometimes | Rare | Sometimes | Yes (almost always) |
| File extension | .epub | .mobi / .prc | .azw / .azw3 / .kfx | |
| Long-term archive friendly | Open standard | PDF/A | Vendor risk | Vendor lock-in |
| Best for | Reflowable reading | Sharing & printing | Older Kindle reading | Kindle store reading |
Small choices that make a noticeable difference in how clean your converted EPUB turns out.
Title, author, language, and publisher matter — they're what Calibre, Apple Books, and Kobo show in your library. Take 30 seconds to set them.
Setting language to ar or ur automatically enables right-to-left layout in the CSS — important for Arabic and Urdu books.
If too few headings show in the TOC, switch the detector to Aggressive (1.3×). If random text appears as a heading, switch to Conservative (2.0×).
Most PDFs have a cover or title page you don't want again — deselect page 1 before exporting, since the EPUB will generate its own cover.
For long-form fiction, the Serif (Georgia) font stack reads more comfortably than sans-serif over many pages.
For technical manuals and reports with lots of code and numbers, Sans-serif (Arial) is more legible at small sizes.
The default — page break on H1 headings — gives you proper chapter starts in ebook readers. Use H1+H2 only if your headings are sparse.
Before sending your EPUB to others, open it in Calibre to check the TOC, cover, and metadata render correctly. Calibre's e-book viewer is excellent for this.
The preview card shows the cover, TOC, and first three pages exactly as they'll appear. Use it to iterate on settings until the output looks right.
If the EPUB is for a parent or grandparent, set body font to 18px or 20px — it's the default size they'll see in the reader.
Filling in Subject lets ebook library tools auto-organize your output by genre. It's a small detail that pays off in big libraries.
Conversion is one-way — keep the source PDF in case you want to re-export with different settings later.
PDF-to-EPUB isn't just a hobbyist task — many roles use it routinely.
Generate EPUB editions of finished manuscripts for distribution on Kobo, Apple Books, Google Play, and other non-Amazon platforms.
Receive PDF review copies from publishers, convert to EPUB for reading on phone or e-ink before writing reviews.
Convert reading material PDFs into accessible EPUBs so every student can adjust font size, contrast, and screen reader behaviour.
Build accessible ebook collections from PDF archives so patrons can read on their preferred device.
Convert long PDFs (papers, theses, reports) into reflowable EPUBs that work well on phones during commutes and travel.
EPUB's HTML5 + semantic markup gives screen readers a much better experience than PDF's positioned text.
Distribute technical manuals as EPUB alongside PDF so readers can pick whichever format suits their device.
Help clients turn finished PDF manuscripts into market-ready EPUBs for upload to ebook retailers.
Convert PDF coursework into EPUBs that are easier to study on tablets, with highlighting and notes that survive across sessions.
Distribute a single EPUB to club members instead of a PDF — easier to read on whatever device each member happens to own.
Source PDFs convert cleanly to EPUBs that import into translation tools like memoQ and OmegaT with proper structure preserved.
Build personal libraries by converting public-domain PDFs into clean reflowable EPUBs for a future-proof reading collection.
Transparency matters. Here's exactly what happens when you use this converter.
This tool uses two client-side JavaScript libraries — PDF.js by Mozilla for parsing and rendering, and JSZip for packaging the EPUB archive — both of which run entirely inside your browser tab. Your PDF is read from your device, parsed in memory, restructured into XHTML, and zipped into the final EPUB without ever leaving your machine.
That means the tool itself never needs to upload your file to a server in order to convert it. Speed depends entirely on your device's CPU and available memory, not on a remote service.
Although the conversion logic is local, modern websites do receive normal browser metadata such as your IP address, user agent, and referrer. If you're working with sensitive material — early manuscripts, confidential drafts, unpublished work — it's always smart to verify how a tool behaves. You can open your browser's developer tools and inspect the Network tab while converting to confirm no PDF data is being sent externally.
For background reading on browser security and safe handling of personal files, see the Electronic Frontier Foundation's privacy resources.
By design, this tool will not attempt to bypass password protection on encrypted PDFs. If the PDF is encrypted, PDF.js refuses to parse it and we stop with a clear error rather than attempting decryption. That's the correct behaviour both technically and legally. For your own protected files, remove the password using a desktop PDF editor first, then re-upload.
When you close the browser tab, the PDF bytes and the generated EPUB are discarded automatically. There's no account, no cloud storage, no history. Save the downloaded EPUB to your device before closing the tab if you want to keep it.
Don't take our word for it. Press F12 (or Cmd+Option+I on Mac) to open developer tools, switch to the Network tab, then drop a PDF and run conversion. You'll see the page's own assets loading, but no outbound request carrying your PDF bytes. That's the difference between a server-side and a client-side tool.
Rough expectations for common document sizes. Numbers vary with PDF complexity, heading density, and device speed.
| Source PDF | Pages | Approx. Words | EPUB Output Size | Headings Detected | Conversion Time* |
|---|---|---|---|---|---|
| Article | 5 – 10 | ~3,000 | ~50 KB | 2 – 5 | 1 – 2 seconds |
| Whitepaper | 15 – 30 | ~8,000 | ~80 KB | 4 – 10 | 3 – 5 seconds |
| Short report | 40 – 80 | ~20,000 | ~150 KB | 10 – 25 | 5 – 10 seconds |
| Novella | 100 – 150 | ~30,000 | ~250 KB | 10 – 30 | 10 – 18 seconds |
| Standard novel | 250 – 350 | ~80,000 | ~600 KB | 20 – 50 | 20 – 35 seconds |
| Long non-fiction | 400 – 600 | ~150,000 | ~1.1 MB | 30 – 80 | 40 – 75 seconds |
| Technical manual | 700 – 1,200 | ~250,000 | ~2 MB | 60 – 200 | 1.5 – 3 minutes |
*Times measured on a typical 2024-class laptop. Mobile devices and older hardware will take longer.
A lot of folklore swirls around ebook conversion. Here are the most common myths and the actual truth.
EPUB is a ZIP archive of HTML and CSS — completely different from PDF's fixed-page binary format. EPUB reflows, PDF doesn't.
Calibre is excellent but not required. Any tool that writes the correct ZIP structure with valid OPF, NAV, and XHTML can produce a valid EPUB — including this browser-based one.
Some do — but this one runs entirely in your browser. You can verify it in DevTools Network tab in 10 seconds.
PDF text extraction depends heavily on how the PDF was created. Scanned PDFs without OCR contain no extractable text, just images.
Since 2022, Amazon's Send-to-Kindle service accepts EPUB directly. The iOS/Android Kindle app also accepts EPUB via Share.
DRM is added by retailers, not by the format. EPUB files you generate yourself (like with this tool) are DRM-free.
Quality depends on use case. For printing, PDF is better. For reading on any device with any font size, EPUB is dramatically better.
EPUBs are just ZIPs of HTML and CSS — you can unzip, edit, and re-zip with any text editor. Calibre's editor does this with a GUI.
If your output doesn't look the way you expected, one of these is usually the cause.
Your PDF was likely created from a scanner without OCR, so it contains images of text rather than real text. Fix: run the PDF through an OCR tool first (Adobe Acrobat, ABBYY FineReader, or a desktop tool like OCRmyPDF) to embed real text, then re-upload here.
The PDF's heading font isn't significantly larger than its body text, so the default 1.6× threshold doesn't trigger. Fix: switch the Heading Detection setting to Aggressive (1.3×). Headings will then be detected at smaller size differences.
The opposite problem — random emphasized text is being detected as a heading. Fix: switch the Heading Detection setting to Conservative (2.0×), or turn it off entirely if your PDF has no real headings.
Your PDF is likely encrypted with a password. Fix: open the PDF in your usual reader, save an unprotected copy, then upload that copy here. Corrupt PDFs will also fail — try opening the file elsewhere first to confirm it's valid.
This converter is text-focused. Embedded images, charts, and figures are intentionally not carried into the EPUB. Fix: use a desktop tool like Calibre for image-rich conversions — it preserves more visual elements at the cost of being a desktop install.
The PDF uses unusual layout (e.g. heavy column structure or right-justified line endings) that confuses the paragraph merger. Fix: the issue is in the source PDF's structure — try opening it in a different PDF reader, copy text from it, and paste into a Word doc. If text reflows cleanly there but not here, please share the PDF type so we can improve the extractor.
Very large PDFs (1,000+ pages or hundreds of MB) can push past browser memory limits. Fix: close other tabs, free up memory, or split the PDF into smaller chunks first using a desktop tool, then convert each part separately.
Long PDFs take time to parse, render thumbnails, and extract text. A 500-page report can take 30+ seconds on an older device. Fix: wait it out, or test with the first 10–20 pages first to verify the output looks right before processing the whole file.
Curated links to authoritative documentation if you want to go deeper into ebook standards and web technology.
Short, friendly definitions for the technical terms you'll see when working with ebooks and PDFs.
epub:type="toc" providing the modern TOC.direction:rtl to the EPUB's CSS. Readers that support RTL will render the book right-to-left.