PDF to Markdown converter
Turn a PDF into clean Markdown — headings, lists, bold, tables and links kept, page numbers and running headers dropped. Ready to paste into ChatGPT, Claude, Obsidian or a README. Nothing is uploaded.
PDF to Markdown
Fit meter
Settings appear once you add a PDF.
Your settings are saved on this device.
Advanced 1
None: one continuous document, best for reading or an AI chat. Page markers add a hidden <!-- page 3 --> before each page, so you can still cite page numbers.
Ctrl + Enter runs it ·
Bytes of your files sent anywhere: 0 B · nothing leaves this tab
Every request this page makes is listed as it happens. You’ll see our own code loading, and for some formats a codec engine, but never your file going out.
- Waiting for network activity…
Check it yourself: open your browser’s developer tools on the Network tab, or turn off Wi-Fi once the page has loaded. The tools keep working.
- Structure, not a text dump Headings get their level, lists stay lists, tables become tables.
- Made for AI chats A fraction of the size of the PDF, with nothing for the model to misread.
- 100% private The PDF is read in your browser. Nothing is uploaded.
How to convert a PDF to Markdown
-
Add your PDF: Drop a PDF that has real text (a scan needs OCR PDF first).
-
Check the settings: Keep tables and links on, and choose whether page breaks are marked.
-
Save the result: Convert. Headings, paragraphs, lists, tables and links come out as one .md file, with page numbers and running headers left behind.
Why it doesn’t upload
People convert PDFs to Markdown to work with them: to feed a contract to an AI model, to keep research notes, to publish documentation. Uploading the PDF to a converter first hands the document to one more company. Here the text is read and the Markdown written inside your browser tab.
Check it in your browser’s Network tabWorth knowing
- Pictures and charts aren’t carried over — Markdown has no place to put them without separate image files. Extract Images from PDF saves them if you need them.
- A scanned PDF has no text to read. Run it through OCR PDF first, then convert the result.
- Tables are recognised from how the text lines up. Tables with merged cells, or text that only looks like columns, may come out as paragraphs or need a tidy-up.
- Two-column layouts are read column by column; footnotes are kept as paragraphs where they fall, not linked to their markers.
- Equations come out as their text, not as LaTeX.
Under the hood
What happens to your file
pdf.js reads each page’s text with its position, size and font. Lines are grouped into blocks; running heads, footers and page numbers that repeat across pages are dropped; paragraphs cut by a page break are joined; and headings get a level from their size against the body text. Bold and italic come from the fonts, tables from text that lines up in columns, and links from the page’s link annotations. The result is written as GitHub-flavoured Markdown.
Reference: pdf.js, Mozilla · GitHub Flavored Markdown spec
Why convert a PDF to Markdown?
Copying text out of a PDF gives you a wall of lines broken at every page width, with the page number and running header pasted in every few paragraphs. Markdown keeps what the copy loses: which lines are headings, what is a list, where a table is, which words were bold or linked — in plain text that any editor, wiki or AI model reads.
That is why it has become the format for working with documents in ChatGPT, Claude and Gemini, and for moving them into Obsidian, Notion or a Git repository. The conversion runs in your browser, so a contract or a paper isn’t uploaded to get there.
What people convert PDFs to Markdown for
-
Feeding a document to ChatGPT or Claude
Markdown is a fraction of the PDF’s size and keeps headings and tables, so more of a long report fits in the chat and the answers cite the right section.
-
Notes in Obsidian or Notion
Paste a paper or a manual into your notes as real headings and lists instead of broken lines.
-
Docs into a repository
Turn a PDF spec or manual into README-style Markdown that can be edited and versioned.
-
Building a knowledge base
Convert policy and product PDFs to Markdown for a wiki or a retrieval (RAG) pipeline.
-
Quoting from a report
Copy a table out of a PDF as a Markdown table that pastes cleanly into GitHub or a chat.
Tips for a clean PDF to Markdown conversion
- Turn on page markers (Advanced) when you need to cite page numbers later — they stay hidden in rendered Markdown.
- For a scanned PDF, run OCR PDF first: Markdown needs real text.
- A table that comes out as paragraphs had merged cells or loose alignment; turn tables off and fix that one by hand.
- To go the other way, Markdown to PDF typesets .md into a clean PDF.
Questions
Why convert a PDF to Markdown for ChatGPT or Claude?
Markdown keeps the document’s structure — which line is a heading, what is a table — in plain text a model reads reliably, and it is far smaller than the PDF, so more of a long document fits in one chat. Page numbers and repeated headers are removed, so they don’t get mixed into the answer.
Does it keep tables?
Yes, as Markdown tables where the PDF’s text lines up in columns, which covers most reports, invoices and statements. Turn it off to keep table rows as text.
Can I convert a scanned PDF to Markdown?
Make it searchable with OCR PDF first, then convert that file. A scan is a picture of each page, with no text to read until OCR adds it.
Does it work with Obsidian and Notion?
Yes. The output is standard GitHub-flavoured Markdown: headings, lists, emphasis, tables, links and code blocks, which Obsidian, Notion and GitHub all read.
Is the PDF uploaded?
No. It is read and converted in your browser; nothing is sent to a server.