PDF to EPUB
Turn a text-based PDF into a reflowable EPUB 3 e-book you can read comfortably on a phone or e-reader.
Drag & drop a PDF here
or click to select a file
About PDF to EPUB
This reads the text layer of a PDF, rebuilds it into paragraphs and chapters, and packages the result as a valid EPUB 3 e-book. The point is reflow: instead of a fixed page you have to pinch and pan on a phone, you get text a reading system can set at whatever size, font and margin you prefer. Extraction, assembly and packaging all happen in this browser tab.
Text only — and what that costs
Only words come across. Images, logos, charts, vector diagrams, background colours, fonts, columns and every other aspect of the page design are dropped. Tables lose their grid and arrive as a run of text in reading order. That makes the tool excellent for prose — novels, reports, papers, manuals, long-form articles — and a poor fit for anything whose meaning is carried by its layout. If the document is really a spreadsheet in disguise, PDF to Excel is the better route; if you need the pages to look exactly as they do now, keep the PDF.
A scanned document has no text layer to read, so it produces an EPUB of empty chapters. The tool checks the volume of text against the number of pages it could read and warns you when the ratio is too low. A scan is the usual reason; the other is a PDF whose fonts use one of the older shared East Asian character encodings, which this converter cannot map back to characters and which therefore comes out empty rather than wrong. Add a text layer with OCR PDF first — or, for one page, Image to Text — and convert the OCR'd version.
How paragraphs are rebuilt
A PDF does not store paragraphs. It stores runs of glyphs at coordinates, so a paragraph has to be inferred. Fragments sharing a baseline are joined into a line — with a tolerance scaled to the smaller of the two type sizes, so a drop cap or a display line cannot pull the ordinary lines beside it into itself — lines are ordered down the page, and a new paragraph is started whenever one of these signals fires: the vertical gap is more than about forty percent larger than the page's usual line spacing, meaning the median gap between its lines, or — on a page with too few lines for a median to mean anything, or whose gaps are all equally enormous — taller than six lines of its own type; the line is indented relative to the column and by a different amount than the line above it, so that a block quote or the lines set beside a drop cap are not chopped into one-line paragraphs; the previous line was noticeably short and ended in sentence punctuation; or the type size changed by more than about a third. A hyphen at the end of a line followed by a lower-case letter is treated as a broken word and rejoined. Lines set more than eighteen percent larger than the page's body size become headings.
Two repairs run afterwards. A footnote marker or an exponent raised clear of its baseline is put back into the sentence it belongs to instead of being left stranded on a line of its own above it, and a drop cap — whose baseline sits on the last line it spans, not the first — is moved in front of the word it begins. Text is also grouped along its own writing direction rather than the page's vertical axis, so a page of sideways text comes out line by line instead of being sliced into fragments.
The reconstruction reads each page as one column. Two-column papers, magazine spreads, sidebars and footnotes therefore interleave, because the line at the same height in the next column is simply the next line down. There is no column detection. Calibre and Sigil both open the output if you want to repair such a document by hand.
What is inside the file
- mimetype — the literal string application/epub+zip, written as the first entry of the archive and stored uncompressed. Get this wrong and readers reject the file outright.
- META-INF/container.xml — points at the package document.
- OEBPS/content.opf — title, author, language, a fresh UUID, the modification timestamp EPUB 3 requires, the manifest and the reading order.
- OEBPS/nav.xhtml — the navigation document that becomes your table of contents.
- OEBPS/chapter-n.xhtml — one XHTML file per chapter, with the text XML-escaped and control characters removed so the markup stays well-formed.
- OEBPS/style.css — a deliberately minimal sheet: justified paragraphs, a first-line indent, sane heading sizes. Your reader overrides most of it, which is the point.
Reading it, and going the other way
The file opens in Apple Books, Google Play Books, Kobo, Calibre, Thorium, Adobe Digital Editions and the standard reader apps on Android and iOS. Kindle hardware does not read EPUB directly, but Send-to-Kindle accepts it and converts on the way in. To go back the other way, eBook to PDF lays an EPUB out as a paginated document. To trim a long PDF before converting, use Split PDF; to reorder or drop pages first, use Organize PDF; and an encrypted file has to pass through Unlock PDF, since a parser cannot read text it cannot decrypt.
Paragraphs rebuilt, not lines dumped
Text fragments are grouped into visual lines — matched on the smaller of the two type sizes, so a drop cap or a display line cannot swallow the lines beside it — then joined into paragraphs using the spacing, the indent, the line length, the type size and the punctuation of the line above. A raised footnote marker goes back into its sentence, a drop cap in front of the word it begins, and words broken by an end-of-line hyphen are rejoined.
A structurally valid EPUB 3
The archive is built by hand: mimetype stored uncompressed as the first entry, META-INF/container.xml, an OPF package with your metadata, a navigation document and one XHTML file per chapter. That is what makes it open in Apple Books, Calibre, Kobo and Thorium.
Reflowable, and entirely local
Because the output is text rather than fixed pages, an e-reader can change the font, the size and the margins and reflow it to any screen. The PDF is read, parsed and repackaged in this browser tab with no upload.
Frequently Asked Questions
What actually makes this better than reading the PDF on a phone?
Reflow. A PDF is a fixed layout: the page is a certain size and the reader can only zoom and pan it, which on a six-inch screen means constant horizontal scrolling. An EPUB stores text and lets the reading system decide where lines break, so it adapts to the screen, the font size you prefer and your dyslexia-friendly typeface if you use one. It also makes text-to-speech, highlighting and dictionary lookup work properly. What you give up is the exact page design.
Will my scanned book work?
No. This reads the text layer that the PDF already contains — the invisible record of which characters were drawn where. A scan is a photograph of paper with no text layer at all, so you would get an EPUB of empty chapters. The tool warns you when almost no text comes out, though it cannot tell you which of the two causes it is: the other is a document built on fonts whose characters cannot be recovered — most often a PDF typeset in Chinese, Japanese or Korean with one of the older shared character encodings, which this converter cannot decode and which comes out blank rather than garbled. Run the document through OCR PDF first to add a text layer, or take a single page through Image to Text. If you are not sure which kind of PDF you have, try selecting a sentence in a reader: if the selection highlights words, there is a text layer — but if it highlights words and this tool still returns nothing, it is the font case.
Are images, tables and diagrams carried over?
No. This is a text-only conversion: pictures, logos, charts, vector diagrams and scanned figures are all dropped, and a table loses its grid — its cells come out as a run of text in reading order, which is rarely useful. Novels, reports, papers and manuals of running prose convert well. Anything whose meaning lives in the layout — cookbooks, sheet music, technical drawings, financial statements — does not, and is better left as a PDF or converted with PDF to Excel if it is really a table.
How are chapters decided?
The unit is one page, which sounds crude but works: a reading system does not show your chapters as pages, it just uses them as the units it streams and the entries it puts in the table of contents. Two options change that, and both are already on when the page loads. "Merge pages with less than 400 characters into the previous chapter" folds any page under that threshold into the chapter before it, which cleans up title pages, section dividers and the stub last page of a chapter — a short document can therefore arrive as a single chapter until you lower the number or clear the box. "Name each chapter after the first large-type line in it" uses the first line the heading rule catches, in reading order — not necessarily the largest line on the page and not necessarily the topmost. A chapter with no such line is called "Page 12", or "Pages 12–14" once pages have been merged into it. The line used as the name becomes the chapter's h1 and is not printed a second time in the body.
How does it know what a heading is?
By type size only. Each line is measured by its largest glyph, the median of those per-line sizes is treated as the page's body size, and any line set more than 18 percent larger — and under 160 characters, so a paragraph in a slightly bigger face is not mistaken for a title — is emitted as a heading. That catches most chapter openers and section headings in ordinary books. It misses headings that are the same size as body text and merely bold, and it can misfire on a page whose first line happens to be a large pull quote or a masthead.
What are running headers and footers, and why remove them?
They are the book title, chapter name or page number printed at the top or bottom of every page. In a fixed layout they help you navigate; in a reflowed EPUB they become a stray line of text interrupting the prose every few screens. The tool looks at the first and last line of every page, masks the digits so "Page 12" and "Page 13" count as the same thing, and removes those lines when the same pattern appears on at least sixty percent of pages. It never removes a line that appears only occasionally, so a genuine one-off heading is safe. The comparison needs at least three pages to mean anything, so a one- or two-page document is left alone even with the box ticked — and the checkbox tells you how many lines it is actually dropping.
What happens if part of the PDF is damaged?
A page whose dictionary or content stream is broken is skipped rather than fatal. It comes through as an empty chapter, the rest of the document converts normally, and a warning tells you how many pages were lost so you can decide whether the result is worth keeping. Only a file where every page fails is rejected outright. If pages are missing, try running the original through Repair PDF and converting the repaired copy — a truncated download is the usual cause, and re-downloading it often fixes more than any repair can.
Why does the text come out in the wrong order sometimes?
Because paragraph reconstruction reads the page as a single column, top to bottom. Two-column academic papers, magazine layouts, sidebars and footnotes interleave in the output: a line from the left column is followed by the line at the same height in the right column. There is no column detection here. For a two-column paper the practical workaround is to accept the interleaving and fix it in an editor such as Calibre or Sigil, both of which open the EPUB this tool produces.
What metadata ends up in the file?
Title and author come from the PDF information dictionary; the language comes from the tag the document sets on itself, where it sets one. Then a fresh random UUID as the unique identifier, the current time as the modification date — EPUB 3 requires both — and the source file name recorded as dc:source. Title, author and language are the three you can edit before exporting, and it is worth doing: a title of "Microsoft Word - final_v3_FINAL" is what a lot of PDFs carry, and it is what your library will display. Clear the title box, or leave nothing but spaces in it, and the file name is used instead — EPUB 3 requires a title, so the book is never shipped without one. An empty language box falls back to "en", and a value that is not shaped like a language tag — "English" instead of "en" — is flagged under the box rather than quietly corrected, because language is the one field here that can make an otherwise valid book fail a strict validator.
Which readers open the result?
Anything that reads EPUB 3, which is effectively everything except Amazon's older Kindle hardware. Apple Books, Google Play Books, Kobo, Calibre, Thorium, Adobe Digital Editions and the reader apps on Android and iOS all open it directly. For a Kindle, send the .epub to your Send-to-Kindle address and Amazon converts it on the way in, or convert it yourself with Calibre. The archive is built to spec — mimetype first and uncompressed, a proper container, an OPF package and a navigation document — because readers reject files that get that wrong.
Is anything uploaded?
No. The PDF is read from your disk by the browser, the text layer is extracted by pdf.js in this tab, the EPUB archive is assembled here as well, and the finished file goes straight to your downloads. No request ever carries your document, its text or its metadata. Like every page on this site it does load analytics and advertising scripts, which is why you should not take "no requests at all" as the claim — the claim is that your file is never one of them.