Local-first conversion

PDF to Markdown converter that never uploads your files

Drop a PDF and get clean Markdown with headings, lists and paragraphs intact. Parsing runs inside this tab with PDF.js — the file never touches a server, and it keeps working even when you are offline.

  • No sign-up
  • No upload
  • Editable Markdown output
100% in your browser · files never uploaded

No file selected · processed locally, nothing is sent anywhere

1 Upload 2 Convert 3 Copy or download
No conversion yet Drop a PDF on the panel above, or paste plain text to run the same Markdown pipeline.

Why PDFtoMD

Built for people who feed documents to machines

Most converters email your contract to a server. This one reads the bytes on your own machine and hands back Markdown that is ready for a language model, a wiki, or a git repo.

Private by architecture

There is no upload endpoint to trust. The PDF is parsed by PDF.js inside the tab, so confidential drafts, medical records and NDAs never leave your laptop.

Ready for LLMs

Markdown is the cheapest format to send to a model. Output keeps heading hierarchy and bullet structure instead of the shredded lines a plain copy-paste gives you.

Structure preserved

Font size decides heading level, bullet glyphs become list items, and line breaks inside a paragraph are merged back into a single sentence.

How it works

Three steps, no account

Everything below happens in your browser. You can disconnect from the network after the page loads and the converter still runs.

1

Load the PDF

Drag a file onto the panel or pick one from disk. Nothing is transmitted — the browser reads the bytes with the File API.

2

Extract and infer

Each page's text layer is read item by item. The converter measures font sizes to rank headings, drops repeated running headers, and rebuilds paragraphs.

3

Edit and export

Fix anything by hand in the source pane, watch the preview update, then copy to the clipboard or download a .md file.

FAQ

Honest answers

Why do scanned PDFs come out empty?

A scanned PDF is a picture of a page. There is no text layer to read, so a browser-side extractor returns nothing — that is a limit of the file, not of the converter.

Reading those files needs OCR, which means shipping a model of a few megabytes and a much slower conversion. OCR is not in the free preview; the converter tells you when a file has no extractable text instead of pretending it succeeded.

Why do tables sometimes break?

PDF has no concept of a table. What looks like a grid is usually a set of absolutely positioned text fragments, and the spacing between columns is the only thing holding it together.

Simple tables often survive because the columns stay on one line. Complex ones with merged cells, wrapped headers or invisible borders need geometry that this free build does not compute, so rows can collapse into a single line. Paste the result into your editor and rebuild the pipes, or rebuild tables by hand in your editor.

Are my files uploaded anywhere?

No. The PDF is never put into a request body — parsing happens locally with PDF.js, and the output is generated by JavaScript running in this page.

The only network calls are for the page itself and the PDF engine script. You can confirm this in the network panel of your developer tools, or simply switch off your connection after the page loads and convert a file offline.

Which formats are supported?

Input is PDF with a real text layer. Output is Markdown, which you can copy or download as a .md file.

Plain text is accepted too — open the paste panel and it runs through the same heuristics, which is handy for pages that were copied from a reader. Word documents, images and scanned pages are not supported in the free build.

Pricing

Free for your own documents

The local converter stays free. Harder OCR/layout cases may need other tools for now.

Free
$0forever

Local conversion with no account and no upload.

  • Unlimited single-file conversions
  • Heading, list and paragraph inference
  • Copy and download as .md
  • Nothing stored, nothing tracked
Start converting
Pro$6 / mo
$6per month, cancel anytime

For scanned archives, academic papers and anything the free tier cannot read.

  • OCR for scanned PDFs
  • Formula preservation as LaTeX
  • Batch conversion, up to 100 files
  • API access for pipelines

Coming later — not available yet