PDF to Markdown
Heuristic conversion: headings by type size, lists by markers, paragraphs by spacing. Honest limits: tables flatten, scans need OCR text. 100% local.
How PDF to Markdown Works
Upload your PDF, optionally set a page range, and click Convert. The tool extracts every text fragment with its font size and position, groups fragments into lines, then classifies each line. A line set in type much larger than the page median becomes a heading (# or ## depending on how much larger). A line starting with a bullet character, dash, or a number followed by a period becomes a list item. Everything else becomes paragraph text, with blank lines inserted where vertical gaps suggest paragraph breaks. The preview shows the Markdown so you can sanity-check it before downloading.
Getting the Best Results
Clean, consistently styled documents convert best: reports, manuals, ebooks, and articles with real heading styles. Run a quick skim of the output afterward and fix any misclassified lines; a two-minute pass usually perfects it. For documents where you only need the words without structure, PDF to Text is simpler. For pages as pictures rather than text, use PDF to JPG/PNG.
Honest Limitations
This is heuristic conversion, not AI layout analysis. Tables come out as flattened lines, not Markdown tables. Multi-column pages can interleave columns because PDFs store text by position. Scanned images without an OCR text layer yield nothing. Footnotes may attach to the wrong paragraph. Knowing these limits upfront saves frustration: the tool is excellent for straightforward documents and upfront about where it is not.
Cleaning Up the Markdown
Plan a quick editing pass after conversion. Fix any misclassified headings, rejoin hyphenated words split across lines, and rebuild the occasional table by hand where it matters. Most documents need only a few minutes of touch-up. Paste the result into your note app and use its outline view to verify the heading hierarchy reads correctly from top to bottom before publishing or sharing.
Frequently Asked Questions
How does PDF to Markdown work?
Upload a PDF and click Convert. The tool extracts text with PDF.js, then applies heuristics: lines in unusually large type become headings, lines starting with bullets or numbers become list items, and the rest become paragraphs. The result downloads as a .md file you can paste into Notion, Obsidian, GitHub, or any Markdown editor. All processing is local to your browser.
How accurate is the heading detection?
It is heuristic, not perfect. The tool compares each line font size against the page median: lines roughly 1.3x larger become ## headings, 1.6x or larger become # headings. This works well for consistently styled documents like reports and ebooks. Decorative large text, like a drop cap or a pull quote, can be mislabeled, so skim the output and fix the occasional wrong heading.
What are the known limitations?
Three honest limits. First, tables flatten into plain lines; Markdown tables are not reconstructed. Second, multi-column layouts can interleave text, because PDFs store fragments by position, not reading order. Third, scanned pages without an OCR text layer produce nothing. The tool labels these limits in the interface so you know what to expect before converting.
Can I convert only some pages?
Yes, type a page range like 2-4, 9 to convert just those pages, in numeric order. This is useful for long documents where you only need one chapter in Markdown. Leave the field blank to convert the whole file. The pages are processed in numeric order regardless of the range you type.
What is the difference between this and PDF to Text?
PDF to Text gives you raw unformatted text, ideal for search indexing or pasting into plain fields. PDF to Markdown adds lightweight structure: headings, bullet and numbered lists, and paragraph breaks, so the output drops cleanly into documentation, wikis, and note apps with hierarchy intact. Use Markdown when structure matters, plain text when it does not.
Is my document uploaded anywhere?
Never. Conversion runs entirely in your browser with PDF.js. The file is read into memory, analyzed, and the Markdown downloads straight back to you. The tool works offline once the page has loaded. The tool works offline once the page has loaded.