Feed a wiki or documentation
Move a procedure shared as PDF into Notion, Obsidian, GitHub or an internal wiki.
Convert a PDF’s selectable text to Markdown, with # headings, paragraphs and tables ready for a wiki, a README or an AI assistant. Processed locally, without OCR or uploading the document.
Your files are processed locally in your browser and are never sent to our servers.
Select the pages whose text should be converted to Markdown. All pages are selected by default.
Drop your file here
Recommended size: up to 100 MB
PDF to Markdown pulls the text of a PDF into a light, readable format: headings marked with #, paragraphs separated by a blank line, tables in columns delimited by vertical bars. The result can be pasted into a wiki, a README, a note-taking app or an AI assistant, without the broken spacing of a plain copy and paste. The conversion runs in your browser and targets PDFs that contain real selectable text.
For each selected page, the PDF.js engine reads the text fragments with their position and size. Fragments at the same height are joined into lines, then nearby aligned lines are merged into paragraphs.
Character size identifies headings: a short line (120 characters at most) that is 1.65 times taller than the body text becomes a # heading, 1.35 times a ## heading and 1.15 times a ### heading. Blocks of lines aligned on several regular columns are converted into a Markdown table, with the first row as the header.
When several pages are converted, each starts with a <!-- Page n --> comment and pages are separated by a --- line. No OCR is applied: a scan without a text layer produces an error message rather than invented text.
Thumbnails appear with every page selected.
Deselect the cover, table of contents or appendices if you do not need them.
The document.md file contains the structured text, ready to paste or put under version control.
Move a procedure shared as PDF into Notion, Obsidian, GitHub or an internal wiki.
Give an assistant clean, structured text instead of a PDF that is hard to parse.
Work on the content of a report in a text editor, with no layout to undo.
The large title becomes a level-1 heading and the three aligned columns form a table whose first row is the header.
Input
Page with the large title “Prices 2026”, one sentence, then a Product / Price / Quantity tableResult
# Prices 2026
Prices include VAT until 31 December.
| Product | Price | Quantity |
| --- | --- | --- |
| Pen | €1.20 | 10 |
| Notebook | €3.50 | 4 |A scan only contains images of pages, with no text to extract. Add a text layer with OCR PDF first, then run the conversion again.
No. Only headings, paragraphs and tables are rebuilt; character formatting and links are not carried over.
By text size: a short line clearly larger than the body text becomes a #, ## or ### heading depending on the ratio (1.65, 1.35 or 1.15 times).
Only when they form regular, well-filled columns. A table with merged cells or a very irregular one may come out as plain lines of text.
No, the Markdown file contains text only. Recover the images with Extract images from PDF if you need them.
No. Reading the text and building the Markdown happen in the browser; the file does not leave your device.
Related tools
Tools similar or complementary to this one.
Convert the text of a PDF into a structured HTML page with headings, paragraphs and tables.
Extract the tables in a PDF into a CSV file to open in Excel, LibreOffice or Google Sheets.
Turn the text of a PDF into structured XML (pages, headings, paragraphs, tables), ready for automated processing.
Learn how to fill interactive PDF fields and flatten them into a finalized document for sharing.
Learn why covering text is not enough, how secure PDF redaction removes sensitive information and why sanitization matters before sharing.
Clean a scanned PDF before OCR to remove unnecessary pages and create a more useful searchable document.
A practical workflow for checking, merging, reordering, sanitizing, compressing and protecting a final PDF before sending it.