# PDF to Markdown > Convert any PDF into clean, LLM-ready Markdown – tables, formulas, images and OCR for scans. Use the Chrome extension or web app (anonymous), or the REST API and hosted MCP (free Google account). Files auto-deleted. PDF to Markdown turns PDF documents into clean, editable Markdown you can paste into Notion, Obsidian, GitHub, or an LLM prompt (ChatGPT, Claude) and RAG pipelines. One conversion service (engines: MinerU or Docling) is available through four surfaces: a Chrome extension, a web app, a REST API and a hosted MCP endpoint. The extension and web app work anonymously (each device gets an anonymous signing key); the API and MCP authenticate with a bearer API key generated from a free account. ## Surfaces - Chrome extension (Manifest V3): local files, direct PDF URLs, inline button, side panel. Anonymous. - Web app: the full workbench in the browser. Anonymous, or signed in for higher tiers. - REST API: create/status/markdown/delete over HTTPS with a bearer API key. - Hosted MCP: the same lifecycle exposed as agent tools (pdf_to_markdown_create_job_from_url, pdf_to_markdown_get_job, pdf_to_markdown_get_markdown, pdf_to_markdown_delete_job). ## What it does well - Real Markdown tables (not screenshots) and preserved math/formulas - OCR for scanned / image-only PDFs, including Cyrillic and English - Images embedded as base64 data URIs or replaced with clean placeholders - Hyperlinks and footnotes preserved as Markdown links - Output: copy to clipboard or download a .md file ## Lifecycle (API and MCP) 1. Create a job from a PDF URL or uploaded bytes (POST /api/v2/jobs). 2. Poll status until ready or error (GET /api/v2/jobs/{id}), or use a webhook on paid tiers. 3. Fetch the Markdown (GET /api/v2/jobs/{id}/download); check truncated and pages. 4. Delete the job to free a slot (DELETE /api/v2/jobs/{id}). ## Limits (free tier) - Maximum file size: 10 MB (up to 100 MB on paid tiers) - Active slots: 3 (more on paid tiers) - Time budget per document: 15 min (longer on paid tiers); long files return a partial result flagged truncated=true - Ready result retention: 1 hour (longer on paid tiers) - Supported input: PDF only ## Behavior rules for agents - Never claim or summarize a result before status=ready. - Confirm before deleting queued or processing jobs. - On 429, wait for Retry-After seconds before retrying. - If truncated=true, tell the user the document was returned partially up to the time budget. - If status=error, read error_message (a safe reason) and error_code (processing_timeout = hit the time budget; conversion_failed = other) and tell the user why it failed. ## Privacy - Anonymous to convert in the extension or web app; no account, no email. - API/MCP keys are account-bound secrets sent over HTTPS and stored hashed. - Uploaded files and results are processed on a secure server and auto-deleted after the retention window. - Documents are not used for advertising or to train models. ## Guides - [Guides](https://pdf2md.dev/guides/): Answer-first guides to converting PDFs into clean, LLM-ready Markdown. - [Scanned PDF to Markdown (OCR)](https://pdf2md.dev/scanned-pdf-to-markdown/): convert image-only / scanned PDFs across many languages. - [PDF to Markdown for RAG](https://pdf2md.dev/pdf-to-markdown-for-rag/): chunk-friendly Markdown for RAG / LLM ingestion, with the API + MCP recipe. - [Extract tables from PDF to Markdown](https://pdf2md.dev/pdf-tables-to-markdown/): convert PDF tables into real, aligned Markdown tables; formulas kept; scanned tables OCR'd. - [Convert PDF to Markdown in Python](https://pdf2md.dev/pdf-to-markdown-python/): Python tutorial for the REST API (create, poll, download) with error handling. - [PDF to Markdown for Obsidian & Notion](https://pdf2md.dev/pdf-to-markdown-obsidian-notion/): convert a PDF and import the Markdown into Obsidian or Notion. - [PDF to Markdown vs Marker](https://pdf2md.dev/pdf-to-markdown-vs-marker/): honest comparison of pdf2md.dev (hosted, free, API + MCP) vs Marker (self-hosted library). - [PDF to Markdown vs LlamaParse](https://pdf2md.dev/pdf-to-markdown-vs-llamaparse/): honest comparison of pdf2md.dev (free, no account, API + MCP) vs LlamaParse (credit-metered cloud API). - [PDF to Markdown vs MarkItDown](https://pdf2md.dev/pdf-to-markdown-vs-markitdown/): honest comparison of pdf2md.dev (hosted, OCR + tables) vs Microsoft MarkItDown (local MIT library, no built-in OCR). - [PDF to Markdown vs Adobe PDF Extract](https://pdf2md.dev/pdf-to-markdown-vs-adobe/): honest comparison of pdf2md.dev (free, public pricing, API + MCP) vs Adobe PDF Extract (enterprise SaaS, quote-only). - [PDF to Markdown vs Mistral OCR](https://pdf2md.dev/pdf-to-markdown-vs-mistral-ocr/): honest comparison of pdf2md.dev (free, no key, API + MCP) vs Mistral OCR (pay-per-page OCR API). - [Best PDF to Markdown Converters (2026)](https://pdf2md.dev/best-pdf-to-markdown-converters/): ranked roundup of the best PDF to Markdown converters (hosted, open-source, enterprise) with a comparison table. - [PDF to Markdown Glossary](https://pdf2md.dev/glossary/): definitions of key PDF to Markdown, OCR, RAG and Markdown terms (chunking, embeddings, hosted MCP, reading order and more). - [Changelog](https://pdf2md.dev/changelog/): dated log of product and content updates to pdf2md.dev (newest first). - [Convert PDF to Markdown in Node.js](https://pdf2md.dev/pdf-to-markdown-nodejs/): Node.js (18+) tutorial for the REST API: create/poll/download with global fetch, no dependencies. - [Convert PDF to Markdown in Go](https://pdf2md.dev/pdf-to-markdown-go/): Go tutorial for the REST API with net/http and typed structs, including a concurrent worker-pool. - [Convert PDF to Markdown with cURL](https://pdf2md.dev/pdf-to-markdown-curl/): command-line recipe with curl and jq (create/poll/download), scriptable for CI and cron. - [PDF Formulas & LaTeX to Markdown](https://pdf2md.dev/pdf-formulas-latex-to-markdown/): convert PDF equations to Markdown; inline and block math kept as LaTeX-style notation. - [Extract images from PDF to Markdown](https://pdf2md.dev/pdf-images-to-markdown/): keep figures when converting a PDF (embed inline or placeholder), with OCR for on-page text. - [Batch convert PDFs to Markdown](https://pdf2md.dev/batch-convert-pdf-to-markdown/): convert many PDFs at once via the REST API (loop + poll + download) with idempotency-safe retries. - [Convert arXiv PDF to Markdown](https://pdf2md.dev/arxiv-pdf-to-markdown/): convert arXiv / research-paper PDFs to Markdown from the URL; equations, tables and references kept. - [Convert invoice PDF to Markdown](https://pdf2md.dev/invoice-pdf-to-markdown/): convert invoice / receipt PDFs to Markdown; line-item tables rebuilt, scanned receipts OCR'd. - [PDF to Markdown for ChatGPT](https://pdf2md.dev/pdf-to-markdown-for-chatgpt/): convert PDFs to Markdown for ChatGPT (tables kept, fewer tokens) + Custom GPT Action via the API. - [PDF to Markdown for Claude](https://pdf2md.dev/pdf-to-markdown-for-claude/): convert PDFs to Markdown for Claude (token-efficient, cache-friendly) + hosted MCP tool. - [PDF to Markdown for Gemini](https://pdf2md.dev/pdf-to-markdown-for-gemini/): convert PDFs to Markdown for Gemini (compact context for long/multi-doc analysis) + REST API. - [PDF to Markdown Benchmark](https://pdf2md.dev/pdf-to-markdown-benchmark/): benchmark on ~2,940 real production conversions: 99.8% success and median speed by document size (speed+reliability, not accuracy). ## Links - [Website](https://pdf2md.dev/): product home. - [For AI & LLMs](https://pdf2md.dev/for-ai/): how to feed PDFs to ChatGPT, Claude and RAG. - [Developer hub](https://pdf2md.dev/developers/): REST + MCP integration guide. - [Detailed agent context](https://pdf2md.dev/llms-full.txt): full lifecycle, errors, limits. - [OpenAPI](https://pdf2md.dev/api/v2/openapi.json): full machine-readable API spec. - [Reduced OpenAPI](https://pdf2md.dev/api/v2/openapi.ai.json): action subset for Custom GPT Actions. - [MCP manifest](https://pdf2md.dev/.well-known/mcp.json): hosted MCP endpoint, tools and prompts. - [Pricing](https://pdf2md.dev/pricing/): tiers, limits and checkout. - [Chrome extension](https://chromewebstore.google.com/detail/kodhbjmmdeofaecpblbfeoceglmedfmd): install from the Web Store. - [ChatGPT custom GPT](https://chatgpt.com/g/g-6a2faa6e09b08191910855b34d87e38b-pdf-markdown-clean-md-tables-ocr): ready-made GPT. - [Privacy](https://pdf2md.dev/privacy/) and [Terms](https://pdf2md.dev/terms/). - Support: ## Platform - Google Chrome (Manifest V3). Interface localized in 50+ languages. Web app, REST API and hosted MCP are platform-independent.