Convert PDF to Markdown
Extract the text from a PDF and get a Markdown file with headings detected automatically from font size, ready to paste into a README, a note or an article.
How it works
The PDF is read page by page with pdf.js, which provides the position and size of each text fragment. These fragments are grouped into lines, then the document's median font size is used as a reference: a line that is clearly larger than this reference is treated as a heading (#, ## or ### depending on the difference), and lines starting with a bullet become Markdown list items.
Is heading detection 100% reliable?
No. It relies on a relative font-size heuristic, not a semantic analysis of the document. A PDF whose headings are the same size as the body text, or one with an unusual layout, may produce incorrect heading levels, so a quick review of the generated Markdown is recommended before reusing it.
Are tables and images converted?
No. Only the text is extracted and restructured; tables lose their column alignment and images are not included in the generated Markdown.
100% local processing: extraction and conversion run entirely in your browser using pdf.js, without sending your document to a server.