Turn a text-based PDF into Markdown in your browser. Text is extracted and headings are detected from relative font size. Private, no upload.
Convert a text-based PDF into an editable Markdown document you can revise, version in Git, paste into notes, or publish in a documentation workflow.
Lines that are larger than the page's typical body text are detected as Markdown headings using relative font size. This helps preserve basic structure without a layout-analysis model.
Insert a Markdown separator between pages when you need to retain the original page boundaries for review, citations, notes, or page-aware AI workflows.
Download a standard .md file that opens in VS Code, Obsidian, Notion, GitHub, GitLab, and any plain-text editor.
Extraction runs entirely in your browser using PDF.js and WebAssembly. Your PDF is never uploaded to any server.
Drag and drop or select one PDF with selectable text. For best results, use PDFs exported from Word, Google Docs, browsers, LaTeX, or similar document tools.
Decide whether to insert a separator between pages. Page markers are useful when you need to trace extracted text back to its original PDF page.
Run the tool to produce a .md file, review the extracted text and headings, then copy or download the Markdown. No signup and no watermark.
A report PDF becomes an editable Markdown file with detected headings and paragraphs.
report.pdf (5 pages)
A text-based PDF with selectable text, paragraphs, and several visibly larger headings.
report-markdown.md
The document text is converted to Markdown, with larger text lines detected as headings and optional page separators.
Markdown turns a fixed PDF into editable plain text with simple structure. It is easier to revise, compare in Git, publish in documentation systems, organize in note-taking apps, and use as source material for AI or retrieval workflows.
This tool works best with text-based PDFs: documents that contain selectable text rather than page images. Typical examples include files exported from Word, Google Docs, web browsers, LaTeX, and office applications. A quick check is to select a sentence in your PDF and paste it into a text editor. If it pastes as readable text, the PDF is usually a good candidate for conversion.
PDF files usually store text positions and font sizes, not semantic heading tags. The converter compares each line's font size with the typical body-text size on that page. A line that is noticeably larger is written as a Markdown heading, while ordinary-sized text is treated as paragraph content. This lightweight approach preserves useful structure for straightforward documents, but it cannot always infer a perfect H1–H3 hierarchy from visual styling alone.
You can insert separators between pages to keep the original document boundaries visible in the Markdown file. This is useful when reviewing a long report, tracing a quote to a source page, creating research notes, or preparing page-aware content for an AI or RAG workflow.
The converter focuses on readable text and basic structure:
PDF is a visual page format, while Markdown is a lightweight text format. This version does not reconstruct tables as Markdown tables, export embedded images, preserve exact fonts and page styling, or reliably rebuild multi-column layouts. Treat the output as an editable starting point, particularly for complex reports, magazines, academic papers, and heavily designed documents.
Scanned PDFs often contain only page images and no selectable text layer. In that case, there is no text for the converter to extract. Run OCR first to create a searchable PDF, then use this tool to generate Markdown. OCR results may still need proofreading, especially for small text, poor scans, or complex layouts.
Use PDF to Markdown to:
Everything runs locally in your browser using PDF.js and WebAssembly. Your PDF is never uploaded to a server, so you can process internal, private, or confidential text-based documents on your own device.