PDF to Markdown - Free Online Browser Tool
Convert a PDF to clean, structured Markdown for notes, docs or AI prompts, right in your browser.
A PDF is the format documents arrive in and the worst one to work with. You cannot diff two versions, you cannot grep one properly, and pasting one into a note or a prompt gives you a wall of unbroken text with no shape to it. Markdown is what fixed that, and it is plain text — which means the whole conversion can happen in this tab. This tool reads the text layer back and rebuilds the structure around it. Headings become headings, by comparing their size against the body text on the same page. Bulleted and numbered lists become real lists. Tables become proper pipe tables, one per detected grid. The result is a .md file you can drop into Obsidian, a docs folder, a repository or an AI prompt, and it is built here in your browser — no conversion service ever receives your document. One thing is deliberately left out: bold and italic are not guessed. Inferring emphasis from a font that looks slightly heavier produces confident wrong formatting, and clean plain text is worth more to you than fabricated bold.
This pdf to markdown utility runs completely inside your web browser. Your document is opened locally and processed on your own device using JavaScript and WebAssembly, so your file is never uploaded to any server. There is no signup, no watermark and no limit on how many documents you can handle.
- 100% client-side - files never leave your device
- Instant processing, no upload wait
- Works on desktop, tablet and mobile
- Free forever, no account required
Common next steps: Extract Plain Text, Extract Text from Page Range, PDF to Word (DOCX), PDF to Excel (XLSX).
How to Use the PDF to Markdown Tool
Four steps, and the whole thing runs locally on your own device.
-
Load the PDF
Works on any digitally generated PDF. If it is a scan, the tool says so and points you at OCR instead.
-
Choose the output
Markdown keeps the structure. Plain text strips it when you only want the words. HTML gives you headings and tables for a web page.
-
Optionally limit the pages
Convert a range such as 1-10 instead of the whole document, and leave the field blank for all of it.
-
Download and use it
A plain .md file you can open in any editor, paste into a prompt, or commit next to your code.
Frequently Asked Questions
Will it keep my headings and lists?
Headings and lists are reconstructed by inspecting the page: text set larger than the body size becomes a heading, and a line starting with a bullet or a number becomes a list item. Indentation is carried across into nested levels. Emphasis — bold and italic — is not reconstructed.
What about tables?
Each detected table becomes a GitHub-flavoured pipe table with a header row, so it renders as a real table in Obsidian, GitHub and most Markdown viewers. Pipes inside a cell are escaped so they do not split it.
Why does it not detect bold or italic?
Because guessing produces wrong output more often than right. A slightly heavier font is not proof of bold, and a document full of confidently mis-bolded headings is worse than one with clean plain text. If you need formatting recovered exactly, convert to Word instead.
Can I use this to feed an AI?
That is one of the main reasons it exists. A PDF pasted into a prompt arrives as an unstructured blob; this gives the model real headings, real lists and real tables, which is what turns a wall of text into something it can actually work with. Use the "turn detected web addresses into links" option to keep references intact.
Is my PDF uploaded anywhere?
No. Reading, structure detection and the .md file are all produced in this tab. Nothing is sent to a conversion service at any point.