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.
Document outline
Need this at scale? The API converts documents at $0.0002 each, with $2 of free credit every month — no card.
Get a free API keyHow it works
- 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.
- 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.
- 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
- Headings with levels. Font-size clustering maps the document's own typographic scale to
#–####; when the PDF ships an outline (bookmarks), that hierarchy is used as the source of truth. - Tables as GFM tables. Rows whose cells align on consistent columns come back as pipe tables you can feed to a model or paste into a README — not as word soup.
- Reading order on multi-column layouts. Academic papers and magazine-style PDFs are read column by column. Naive extractors interleave the columns line by line and quietly destroy the text.
- Running headers, footers and page numbers stripped. A line repeated at the top or bottom of most pages is chrome, not content. Bare page numbers go too.
- Hyphenation repaired. Words split across line breaks (
improve-/ment) are joined back, and paragraphs flow across page boundaries. - Links preserved. PDF link annotations are mapped back onto the exact words they cover and come out as Markdown links.
- Bold, italic and code. Detected from the fonts themselves — including TeX fonts that never say "Bold" in their name, so academic papers keep their emphasis.
- Honest about scans. Pages with no text layer (image-only scans) are counted and reported instead of silently returning nothing. OCR is not applied in the free tool.
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.
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