PDF to Markdown

Turn a PDF into clean Markdown — right in your browser. Nothing is uploaded.

Files never leave your device

Drop a PDF here or click to choose

PDF

What This Tool Does

PDF to Markdown reads the text layer of a PDF and rebuilds it as clean Markdown — headings, paragraphs, bullet and numbered lists, links, and bold/italic emphasis — entirely in your browser. Drop a PDF in and you get a side-by-side view: raw Markdown on one side, a rendered preview on the other. Copy the text or download it as a .md file.

How It Reads Structure

The conversion is heuristic, not a guess from the raw text alone — it uses the actual formatting embedded in the PDF:

  • Headings are inferred from font size. Lines set noticeably larger than the document's body text become headings, with up to three levels depending on how much larger they are.
  • Lists are detected from how each line starts. Lines beginning with a bullet character become an unordered list; lines beginning with a number become an ordered list, and it keeps the PDF's starting number (a list beginning at "5." stays at 5 instead of resetting to 1) — after that first number, items are numbered sequentially rather than re-reading each line's own printed digit.
  • Links come from the PDF's own link annotations, not from pattern-matching text that looks like a URL, so a link on a word like "here" is recovered correctly.
  • Bold and italic are detected from the font used for each span of text (font names containing Bold, Italic, or Oblique), so emphasis in the source carries over into the Markdown.

Optimized for LLMs and Notes

The output is plain, clean Markdown — no PDF formatting cruft, no embedded styling — which makes it a good fit for pasting straight into an LLM prompt, a notes app, or a knowledge base where you want structure (headings, lists, links) without the visual clutter of the original PDF layout.

Nothing You Drop In Ever Leaves Your Device

The PDF is opened and its text extracted locally using your browser's own PDF engine, and the Markdown is generated from that extracted structure on your device. There is no upload step — your file never leaves the tab you're working in.

Known Limits

  • Tables are kept as plain text, not converted into Markdown table syntax — this is a best-effort tier, and reliable table detection is a possible future improvement.
  • Scanned or image-only PDFs have no text layer, so there is nothing for the browser to extract yet. The tool detects this case and shows a warning; OCR support is coming in a later batch.
  • Multi-column layouts are approximated, not solved. Reading order works well for single-column documents, but on complex multi-column pages the lines can come out in an imperfect order, with no warning banner to flag it — worth a quick check on anything with a multi-column layout.

Related Tools

Need the pages as images instead of text? PDF to Images exports every page as a JPG or PNG. To split a PDF into separate files first, try Split PDF.

Frequently asked questions

Does this turn PDF tables into Markdown tables?
Not yet. Tables are kept as plain text lines in roughly their original reading order rather than being forced into GFM table syntax, since column detection on real-world PDFs is unreliable enough to produce broken tables. This is a best-effort tier for now.
Can it convert a scanned PDF or a photo saved as PDF?
Not yet. A scanned or image-only PDF has no text layer for the browser to read, so there is nothing to extract — the tool detects this and shows a warning instead of returning empty output. OCR support for scanned documents is coming in a later batch.
Do numbered lists keep their original numbers?
Partly. If a list in the PDF starts at 5, the Markdown output keeps that starting number instead of resetting to 1 — but from there it numbers sequentially (6, 7, 8…) rather than reading each line's own printed digit, so a list with skipped or out-of-order numbers in the source is not reproduced exactly.
Is my PDF uploaded anywhere to convert it?
No. The PDF is read and its text extracted locally by your browser's own PDF engine, and the Markdown is built from that on your device. Nothing is sent to a server — the whole conversion happens in the tab you're looking at.