PDF to Markdown turns a text PDF into a .md file you can drop into a wiki, a README, a notes app or a static site. Headings become # lines, bulleted and numbered lists become list items, aligned columns become pipe tables, bold and italic text keep their emphasis, and lines set in a monospace font become code blocks. The title and page number that repeat on every page are dropped by default.
A PDF stores where each character was drawn, not what role it played, so the structure has to be inferred. The converter reads the text with its positions and font metrics, works out the body font size, treats larger or short bold lines as headings and rows of short, aligned cells as tables, and rejoins wrapped lines, including words split by a hyphen. All of this runs in your browser with JavaScript, so the file never leaves your device.
Expect to tidy the result. Inference from layout goes wrong on multi-column pages, footnotes, tables with merged or wrapped cells, and decorative layouts, and images are not carried over. A scanned PDF has no text layer at all, so the tool stops and asks you to run OCR first. Check the counts shown after conversion against what you expected before you rely on the file.
How to use PDF to Markdown
- 1Select the PDF, or drop it onto the page. The tool converts one file at a time.
- 2Under What to look for, leave Headings, Lists, Tables and Drop repeated headers and footers checked, or uncheck any that misfire on your document.
- 3Check Mark page breaks if you want a horizontal rule where each page ends. It is off by default.
- 4Click Convert to Markdown.
- 5Read the preview, click Copy to put the Markdown on your clipboard, or download the .md file, which takes the name of the PDF.
Frequently asked questions
- Does it work on scanned PDFs?
- No. A scan is a picture of a page with no text underneath, so the converter finds nothing and tells you so. Run the PDF through the OCR PDF tool first (English text only at the moment), then convert the result.
- Why did some headings come out as plain paragraphs, or the other way around?
- Headings are guessed from font size relative to the body text, and a short line set entirely in bold, with no period or colon at the end and no bold line right below it, is taken as a subheading. A document set in one size throughout, or one that puts short bold labels or captions on lines of their own, will fool that guess. Uncheck Headings and mark them yourself, or fix the few that went wrong in the output.
- Are tables preserved?
- Three or more consecutive lines whose short cells line up in the same columns become a pipe table, with each cell placed by its horizontal position. Merged cells, cells that wrap onto a second line, and columns set so close together that the gap is narrower than the body font size come out wrong. Two-column prose is not treated as a table, but the two columns are read across as one line, so that text still needs sorting out by hand.
- Are images and links included?
- No. The output is text only: images are left out and PDF hyperlinks are not turned into Markdown links. Bold, italic and monospace text are kept, and lines in a monospace font are wrapped in a fenced code block.
- What does Drop repeated headers and footers actually remove?
- On documents of three pages or more, any line in the top or bottom 12 percent of the page that repeats on at least 60 percent of the pages, and on at least three of them, is removed. Digits are ignored when comparing, so Page 4 of 20 and Page 5 of 20 count as the same footer. Uncheck it if a running line you want to keep, such as a chapter title at the top of every page, is being removed.
- Is my PDF uploaded to a server?
- No. The text is read and the Markdown written by JavaScript running in your browser. Nothing is sent to FreeAIPDF or anyone else, and closing the tab leaves nothing behind.