Skip to content

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

Settings appear once you add a PDF.

Turn tables into Markdown tables
Keep links
Advanced 1
Page breaks

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 sent anywhere: 0 B

Keyboard shortcuts

Ctrl K
Search all tools
Ctrl V
Paste files to add them
Ctrl Enter
Run the tool
?
Show this list
Esc
Close this list or the search
  • 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

  1. Add your PDF: Drop a PDF that has real text (a scan needs OCR PDF first).

  2. Check the settings: Keep tables and links on, and choose whether page breaks are marked.

  3. 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 tab

Worth 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.

Runs on pdf.js

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

  1. Turn on page markers (Advanced) when you need to cite page numbers later — they stay hidden in rendered Markdown.
  2. For a scanned PDF, run OCR PDF first: Markdown needs real text.
  3. A table that comes out as paragraphs had merged cells or loose alignment; turn tables off and fix that one by hand.
  4. 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.

Read more about this

More web & code tools

All web & code tools