PDF to Markdown converter — free & LLM-ready

Drop a PDF (or paste its URL) and get real, structured Markdown back — headings rebuilt from the document's typography, tables as GFM tables, lists, links, correct reading order even on two-column layouts. Running headers, footers and page numbers are stripped. Built for RAG pipelines, agents and anyone tired of copy-pasting from PDFs.

Your document
Drop a PDF here, or click to choose Up to 10 MB · PDF works best; DOCX, XLSX and CSV convert too

A two-column PDF page with its column gutter, heading runs and table grid detected, the three layout rules that read them, and the resulting Markdown with headings and a GFM table.
The layout engine reads the typography, not just the text: the column gutter fixes the reading order, font sizes cluster into heading levels, cells that align on the same columns become a GFM table — and the running header goes in the bin.

How it works

  1. Drop a file or paste a URL. A report, a paper, a whitepaper, an invoice, a spec — anything with a text layer. URLs are fetched through residential proxies with a real browser TLS identity, so documents behind picky CDNs download too.
  2. The layout engine reads the typography, not just the text. Every text run carries its position and font. Font sizes are clustered into heading levels (the PDF's own bookmarks win when present), aligned columns become tables, bullets become lists, two-column pages are read column by column.
  3. You get Markdown a model can actually use. Heading hierarchy, GFM tables, lists, bold and italic, working links. Running headers, footers and bare page numbers are gone. Copy it, download the .md, or select a page range and convert just that.

What the converter rebuilds — and most tools don't

Why Markdown is the right format for LLMs and RAG

A PDF is a print format: it describes where ink goes on paper, not what the document means. Extract it naively and you get a wall of text with the structure destroyed — headings indistinguishable from body text, tables flattened into random words, columns interleaved. A model reasons over structure: heading hierarchy tells it what belongs to what, tables carry the relationships between values, lists mark enumerations. Markdown keeps exactly that structure and nothing else, typically in a fraction of the tokens the raw extraction would burn. For RAG ingestion this compounds: chunking along real headings produces chunks that mean something, and page anchors let answers cite the page they came from.

Free limits — and what the API removes

The tool on this page is free and needs no account: 3 conversions per day per IP, files up to 10 MB, output trimmed at 100,000 characters. That's enough to convert the document you have in front of you right now.

Behind it sits the same engine as the QuanticData scrape API, where the limits disappear: documents are billed at $0.0002 each like any other page, every account gets $2 of free credit each month with no card, and you get page ranges, page anchors for citations, plain-text output and document metadata (title, author, page count) in JSON. One call:

curl -X POST https://api.quanticdata.io/v1/scrape \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/report.pdf", "format": "markdown", "pdf": {"pages": "1-10", "pageMarkers": true}}'

Need every document a company publishes, not one file? The site_documents collector takes a domain and returns each PDF it finds as clean Markdown — one call, one row per document. The API docs carry Python and Node versions, and the MCP server exposes the same conversion as a tool an AI agent can call directly.

The demo POST to /v1/scraper/pdf/demo carrying the file or its URL, the Markdown and outline that come back, the 3-per-day free limit, and the paid /v1/scrape at $0.0002 per document.
The file goes up as multipart form data to one demo endpoint, comes back as Markdown with an outline, and is discarded — three a day here, or $0.0002 a document from the API with no cap and no 100,000-character trim.

Sources and standards

What this tool implements or checks against, so you can verify a verdict yourself:

Questions about converting PDFs to Markdown

Is this PDF to Markdown converter free?

Yes. No account, no card — just a quick bot check. You get 3 conversions per day per IP, up to 10 MB per file, with output trimmed at 100,000 characters. Past that, a free account gives you the API with $2 of credit every month.

Does it keep headings and tables?

Yes — that's the point. Heading levels are rebuilt from the document's font sizes (or its bookmarks when present), and rows of aligned columns come back as GFM pipe tables. Lists, links, bold and italic survive too.

Can it handle two-column papers?

Yes. Column layouts are detected from the page geometry and read column by column, so academic papers come out in the right order instead of interleaving the two columns line by line.

Does it work on scanned PDFs?

Only if the scan carries a text layer (most "searchable PDFs" do). Pure image scans are detected and reported honestly — the page count tells you how many pages had no text. OCR is not applied in the free tool.

Can I convert only some pages?

Yes — the Pages field takes ranges like 1-5,8. Via the API you can also add pageMarkers, which inserts an HTML comment at each page boundary so RAG answers can cite the page they came from.

Is there a PDF to Markdown API?

Yes. This page is a thin front end over the QuanticData scrape endpoint: POST a document URL with format: "markdown" and you get the same conversion as JSON, plus document metadata — title, author, page count, creation date. Documents are billed like pages, $0.0002 each.

How do I convert all the PDFs on a website?

Use the site_documents collector: give it a domain and it discovers the documents the site publishes (homepage links first, then the sitemap) and returns each one converted to Markdown — one row per document, with title, author and page count.

One document was easy. Now do your whole knowledge base.

The API behind this tool converts documents at $0.0002 each, with $2 of free credit every month.

Get my free API key