PDF to Markdown
Convert any PDF to clean Markdown in your browser — with a live token count and chunk plan.
MarkPrep turns PDFs into clean, LLM-ready Markdown without uploading a single page. Digital PDFs are extracted with the same text-layer approach hosted tools use, then cleaned: repeated headers and footers stripped, page numbers removed, hyphenated line-breaks re-joined. Scanned PDFs fall back to local OCR (Tesseract) that runs in your tab — no OCR API, no page limits. The moment conversion finishes you see how many tokens you're holding, whether it fits GPT-4o or Claude, and exactly where it breaks into chunks. Export the Markdown, a ZIP, or JSONL chunks with heading paths and page numbers baked in for retrieval.
How to convert pdf to markdown
- 1Drop your PDF onto the box above, or click to browse. Nothing uploads — the file is read in your browser.
- 2MarkPrep converts it to Markdown locally and shows a live token count for your chosen model.
- 3Check the Preview, adjust the chunk size, and review the Verify tab for anything worth a second look.
- 4Copy the Markdown, download the .md/.zip, or export JSONL chunks for your RAG pipeline.
Format notes & gotchas
- Multi-column layouts read left-to-right, top-to-bottom — the same behaviour as pdfminer/MarkItDown. Column reconstruction is deliberately out of scope.
- Scanned PDFs with no text layer need OCR — turn it on in Options. Many 'scanned' PDFs already carry an invisible text layer, which we detect and use directly.
- Very large PDFs convert faster on desktop; on a phone, expect slower results above ~50 pages.
Related converters
Frequently asked questions
Does it handle scanned PDFs?+
Yes, with local OCR. Turn on 'OCR scanned pages' in Options. Accuracy on difficult scans is below a GPU tool like Marker — our benchmark page shows exactly where — but there's no page cap and nothing is uploaded.
Are tables preserved?+
Digital PDF tables are extracted as GFM Markdown tables. Complex ruled tables can lose structure — the Verify tab flags mismatched columns so you catch them before your pipeline does.
Is my file uploaded anywhere?+
No. Conversion runs entirely in your browser tab using WebAssembly. There is no upload endpoint — open your browser's Network tab and watch: nothing leaves the page. The only labelled exceptions are fetching a public URL and optional bring-your-own-key OCR.
How much does it cost?+
Conversion and the entire AI-Ready Pack — token counts, chunking, JSONL export — are free and unlimited, because they run on your hardware. Pro ($4/mo) adds workflow features like the local MCP server, watch folders and saved profiles.
Are the token counts accurate?+
Exact for OpenAI models (GPT-4o, o-series) via their published tokenizer. For Claude and Gemini we show a labelled approximation, because those tokenizers aren't public.
Want it inside your workflow?
Conversion is free forever. Pro ($4/mo) adds the local MCP server so Claude Code converts files on your machine, plus watch folders, saved profiles and encrypted sync.
See pricing