PDF to Markdown
Use the CaseSwitch PDF to Markdown Converter to extract selectable text from a PDF in this browser and start a Markdown-friendly draft. Choose a .pdf file, review the extracted text, and copy it. Bytes are read locally — the file is not uploaded to CaseSwitch.
Written by the CaseSwitch editorial team. We maintain these tools in the browser so drafts, keys, and images stay on your device.
Last reviewed: 23 July 2026
Files are processed locally in your browser and are never uploaded to a server. Scanned PDFs without selectable text are not supported.
or drag and drop a file here
Examples
Text-layer product brief
Input
Upload brief.pdf (digital text, 3 pages of headings + paragraphs)
Output
Extracted page text joined with blank lines between pages — paste into Markdown and promote headings manually
Internal RFC export
Input
Upload rfc-draft.pdf exported from a docs tool with fonts embedded as text
Output
Selectable paragraphs and lists as plain text; tables may need cleanup in your editor
Meeting notes PDF
Input
Upload notes.pdf from a notes app that embeds real text
Output
Line-based notes you can wrap in Markdown lists after a quick pass
Scanned image-only PDF
Input
Upload scan.pdf (photos of pages, no text layer)
Output
Error: No selectable text was found. Scanned PDFs without a text layer are not supported.
Password or corrupt file
Input
Upload a truncated or unsupported PDF binary
Output
Error from the local PDF parser — fix the file or export a clean text PDF and retry
How to use
- Choose a PDF with a real text layer (not only scanned images).
- Wait for local extraction to finish and skim each page break.
- Copy the text into your editor, then add Markdown headings and lists by hand as needed.
What this tool is for
Specs and notes often live in PDFs while docs want Markdown in git. This tool uses PDF.js in the browser to read each page’s text layer and concatenate pages. It is useful for quotes and first drafts — not a certified archival OCR pipeline for scanned image-only PDFs.
How it works
You pick a PDF (size limits apply). PDF.js loads the bytes locally, walks pages, and joins text items. Output is plain extracted text oriented toward Markdown editing — heading detection is best-effort at best. If no selectable text exists, you get a clear error about missing text layers (scans without OCR).
When to use it
Pulling quotes from a text PDF, starting a Markdown draft from a digital spec, and avoiding an upload-based converter for internal docs.
When not to use it
Do not expect pixel-perfect tables. Do not rely on it for legal discovery. Image-only scans need a real OCR product. For .docx use Word to Markdown.
How it compares to related tools
Word to Markdown is for .docx. HTML to Markdown is for HTML. Remove Line Breaks helps after extraction when lines wrap awkwardly.
Common mistakes
Assuming a scanned contract “converted” when there is no text layer. Publishing extracted text without rights. Expecting multi-column layouts to reflow perfectly.
Text layer vs OCR
Digital PDFs often carry a text layer PDF.js can read. Scans are pictures of pages. This converter does not run cloud OCR. If output is empty, run OCR in a dedicated tool or re-export from the source document.
Privacy and size
Bytes stay in the browser tab. Very large PDFs may be slow or hit size validation limits — split the file or extract locally with a desktop tool when needed.
Frequently asked questions
Why is the output empty?+
The PDF may be images of pages with no text layer. This converter does not run cloud OCR.
Does the PDF upload to CaseSwitch?+
No. Bytes are read with browser APIs on your device.
Will tables become Markdown tables?+
Usually you get linear text. Rebuild tables with the Markdown table generator if needed.
Are images extracted?+
This flow focuses on text extraction, not exporting embedded images as files.
Is layout preserved?+
Multi-column and floated layouts often linearize. Expect a draft, not a facsimile.
What file size works?+
A maximum size is enforced in the uploader. Split huge manuals if validation fails.
Does this tool send my payload to CaseSwitch?+
No. Formatting, encoding, and naming conversions for this page run in your browser after load — your sample stays on the device.
Does this support scanned PDFs?+
No OCR is performed. Only selectable text layers can be extracted.
Related tools
Word to Markdown
Developer docs that started in Word, blog drafts moving to a static site, extracting a policy into a repo, and avoiding upload-based converters for internal handbooks.
HTML to Markdown
Moving a CMS export toward a README, turning an email into notes, grabbing a heading structure, and starting a docs PR from HTML you already have.
Plain Text Converter
Pasting a README snippet into Slack as plain text, cleaning a CMS export, preparing copy for a system that escapes HTML badly, and getting unstyled words ready for a case converter.