Convert PDF text into structured Markdown — headings from font sizes, bullets preserved. 100% in-browser.
Drop a text-based PDF and convert it to structured Markdown
Markdown conversion runs entirely in your browser with pdf.js. Your file is never uploaded. Works on PDFs with embedded text — scanned pages need OCR.
PDFs have no headings — only positioned glyphs. The converter groups each page's text items into visual lines by Y coordinate, then compares every line's font height to the page's median: ≥1.6× becomes #, ≥1.3× becomes ##, and ≤0.75× (footnotes, captions) becomes italics. Bullet glyphs (• – -) map to Markdown lists, numbered lines to ordered lists. This is honest heuristics, not magic: unusual layouts can mis-title a line, so skim the preview. If the output is empty, the PDF is scanned images — use the PDF OCR tool instead.
Font height relative to the page median is the only heading signal PDFs provide — bigger means more important.
Sam has a 12-page PDF spec whose wiki import eats Markdown, not PDFs.
Convert PDF to Markdown online free. Font-size heading detection, lists, copy or download .md.
PDFs store positioned glyphs, not paragraphs; Markdown needs structure. The converter first rebuilds lines by clustering characters on shared baselines, then infers hierarchy from typography: lines at 1.6x the median font size become top-level headings, 1.3x becomes subheadings, and bullets become list items. The result is a Markdown file that reflects the visual hierarchy, not just the character stream.
Font-size heuristics are usually right and occasionally surprised by letterheads or title pages - the tool demotes duplicated headings and defaults the document title to the file name to blunt the worst cases. Output lands in an editable text area: fix a heading if the heuristic guessed oddly, then copy or download. For scans with no text layer at all, the tool points you to PDF OCR instead of returning an empty success.
The tool reads every character font size, computes the median, and classifies lines relative to it: at least 1.6x the median becomes a top-level heading, at least 1.3x becomes a subheading, and noticeably smaller text renders italic. This heuristic works across documents that use completely different point sizes.
Scanned PDFs are images with no extractable text, and this tool will return an empty result rather than pretending. Use the PDF OCR tool instead - it recognizes text from page images and hands the result back as editable text.
Repeated large text (like a letterhead) can win the heading heuristic. The tool also demotes duplicate headings and uses the file name as the document title by default. A quick scan of the output before use is recommended - the heuristics are honest, not magic.
Why did the elephant paint its toenails red?
No paywalls, no signups, no data sold. Built by a solo developer who believes useful tools should be accessible to everyone.
☕Support me on Ko-fi— keep tools free100% of proceeds go towards hosting & building more free tools.