Skip to content
Fix

Fix broken paragraphs in a PDF-to-EPUB conversion

Paragraphs break when a converter turns every line of the PDF into a line of the EPUB, because a PDF stores lines, not paragraphs. EpubCC rebuilds paragraphs from the position of each line, rejoins hyphenated words and joins paragraphs split across pages.

Try five pages from your PDF before converting the full book.

Updated:

PDF → EPUB

Choose your PDF or drop it here. The free sample covers 5 pages.

Text-based PDFs only, up to 200 MB. Scans are not supported yet.
Large files upload in resumable pieces: a dropped connection doesn't start over.

Private files. Never used for training. Deleted automatically, or right away when you press Delete now.

See the difference in reading.

Original PDF
A page of the original PDF: OLMo paper (arXiv 2402.00838)
EPUB
The same passage in the EPUB made by EpubCC
Real conversion from the case Two-column PDF to EPUB: an academic paper · OLMo paper (arXiv 2402.00838)

Why it happens

A PDF has no notion of a paragraph. It draws lines of text at fixed positions, often with a hyphen where a word was split at the end of a line. A converter that copies those lines keeps the line breaks, and on an e-reader every line becomes a short broken paragraph.

How EpubCC rebuilds paragraphs

  • A new paragraph starts only on a real signal: a vertical gap, a change of size or weight, a first-line indent, or a line that ends early.
  • Words hyphenated at the end of a line are rejoined when the PDF marks the hyphen as a line break, or when the next line starts in lowercase.
  • A paragraph that doesn't end a sentence at a column or page break is joined with the next one when that one starts in lowercase.

What the benchmark shows

8-gram recall measures continuity: it drops when line joins or reading order break sentences. The table below shows the mean for each engine in our public benchmark, including the ones that beat us on some documents.

8-gram recall · Like 4-gram recall with 8 words: drops when reading order or line joins break sentences (continuity). Higher is better. Mean over the documents of the benchmark of November 3, 2026. Methodology and every result
Engine8-gram recall
EpubCC engine (EPUB output)0.767
EpubCC engine (plain text)0.765
pdf_oxide · extract_text0.726
pdf_oxide · to_plain_text (XY-cut)0.658
pdf_oxide · Markdown0.653
PDFium · text().all()0.746
OpenDataLoader PDF (local mode)0.749
pdftotext (Poppler)0.743

PDFs with selectable text only. Scanned PDFs are not supported yet.

FAQ

Is it free?

Every file gets a free sample of up to 5 pages before you pay anything, so you can judge the result on your own book. The Free plan converts up to 100 pages a month; Pro and Business convert more.

Will the EPUB be perfect?

No converter can promise that, and we don't. When the engine detects problems (unreadable glyphs, doubtful reading order) it shows a warning instead of hiding it, and the sample shows you the hard parts before you pay.

Should I use Calibre instead?

If your PDF is a simple single-column text, Calibre's free converter may be enough. EpubCC is for the hard cases: broken paragraphs, repeated headers and page numbers, footnotes, columns and chapters.