Text, tables and pictures · Private · In your browser

Free the text trapped in your PDFs.

Drop in a PDF and get clean Markdown back — headings, lists, tables and reading order intact, with every photo, chart and diagram saved alongside as a file. Paste it into ChatGPT or Claude, your notes or your docs. The PDF never leaves your computer.

One PDF becomes: report.pdf report.md img-1.jpg img-2.svg

  • No upload, ever
  • A few files free without an account
report.pdf report.md + 2 images
# Quarterly report
Revenue grew **18%** to $4.2M.
 
![Im0](assets/img-1.jpg)
 
The EU and APAC led the year.
 
## Revenue by region
| Region | Q3  | Q4  |
|--------|-----|-----|
| EU     | 1.2 | 1.5 |
| APAC   | 0.9 | 1.1 |
 
![figure](assets/img-2.svg)
assets/ img-1.jpgJPEG img-2.svgSVG

Why not just copy and paste?

Copy-paste turns a PDF into soup.

A PDF records where every letter sits on the page — not what is a heading, what belongs to which column, or where a table starts. Copy it out and you get broken words, page numbers in the middle of sentences and tables flattened into one long line. pdf2md reads the page the way you do.

Copied out of the PDF
ACME Corp — Confidential      Page 3 of 12
Quarterly report Revenue grew 18% to
$4.2M, led by the EU and APAC. Revenue by re-
gion Region Q3 Q4 EU 1.2 1.5 APAC 0.9 1.1
Costs fell for the second quar- ter in a row
while head- count stayed flat. 3
From pdf2md
# Quarterly report

Revenue grew **18%** to $4.2M, led by the EU and APAC.

## Revenue by region

| Region | Q3  | Q4  |
|--------|-----|-----|
| EU     | 1.2 | 1.5 |
| APAC   | 0.9 | 1.1 |

Costs fell for the second quarter in a row
while headcount stayed flat.

What you get

Everything that made the page make sense, kept.

Nothing is uploaded

The converter runs inside this page. Contracts, payslips, medical letters stay on your computer — and they are gone the moment you close the tab.

Structure, not just text

Headings from font sizes, bullet and numbered lists, tables, code blocks, two-column pages in the right order — and Chinese, Japanese, Korean or right-to-left text, too.

Made for your AI

Markdown is what language models read best. The compact profile drops page furniture like dot leaders, so the same document costs fewer tokens.

Honest about scans

A scanned page is a photograph of text. pdf2md does not guess at it: it says the document is scanned rather than hand you an empty file.

Fast enough not to notice

Tens of milliseconds a page on an ordinary laptop. A long report is done before you find your downloads folder.

How it works

Three steps. No account to start.

  1. 1

    Drop a PDF

    Or tap to choose one. Several at once is fine, and an encrypted one just asks for its password.

  2. 2

    Read the Markdown

    Headings, lists and tables appear in a moment. Pick pages or a profile first, if you like.

  3. 3

    Take it with you

    Copy it, save it as .md, or download a .zip with every picture the document carries.

Convert a PDF free

Images

The pictures come out too.

Photos, charts, diagrams, logos, a scanned signature — every picture on the page is saved as a file any browser opens, and the Markdown links to it. Turn on Extract images and the text and its pictures leave together, in one .zip.

site-visit.zip
├── site-visit.md
└── assets/
    ├── img-1.jpg  photo, as it was
    ├── img-2.png  fax scan, decoded
    └── img-3.svg  chart, as lines
## Line 3, after the refit

![Im0](assets/img-1.jpg)

Output reached 1,240 units a day.

![Im1](assets/img-2.png)

![figure](assets/img-3.svg)
  • Photos, untouched

    A JPEG in the PDF is saved as the JPEG it already was — not decoded, not squeezed a second time. Other pictures become lossless PNG.

  • Charts as SVG

    Charts, diagrams and logos drawn with lines rather than pixels come out as SVG: sharp at any size, and their labels are still text.

  • Old formats, opened

    Fax-encoded scans, JBIG2 and JPEG 2000 — formats no browser shows — are decoded to PNG, and print colour (CMYK, Lab) becomes screen colour.

  • Linked from the text

    A picture is linked where the page drew it. A chart, a stamp or a sticky note, which a PDF keeps apart from its text, follows at the end of its page.

A PDF is made for printers. Markdown is made for readers — the people and the machines you hand it to.

For AI and for developers

Works where your AI does.

The converter this page runs, reached three other ways. Each counts against the same allowance as the page.

In Claude, as a connector

Claude gets the API explained and a ready-to-run request for your file — options checked, a short-lived credential for your account included. No document passes through the chat, in either direction.

  1. Copy the address
  2. In Claude, open Settings → Connectors → Add custom connector and paste it.
  3. Sign in when it asks. You can take the access away again at your account.

In your own code

The same module, in a browser, in Node or on the command line.

$ npm i @dudko.dev/pdf-to-md-core
$ npx @dudko.dev/pdf-to-md-cli report.pdf

Over HTTP

For pipelines: post a document, get Markdown back. Every option is documented, with a form to try it in.

POST /api/v1/convert
Read the API docs

Questions

Before you drop a file.

Is my PDF uploaded anywhere?

No. The converter is a WebAssembly module that runs inside your browser tab. The only thing that leaves it is a count of conversions, sent to the sign-in service — never the document, its name or a word of what is in it.

Is pdf2md free?

Free to start. A few conversions need no account at all, and a free account adds more. When that is not enough, a paid plan lifts the limit — and the file still never leaves your browser, only the count does.

What happens with a scanned PDF?

A scan is a photograph of text, and pdf2md does not do OCR. Instead of handing you an empty file it tells you the document is scanned, so you know to run it through an OCR tool first and convert the result.

Will my tables survive?

Tables drawn with rules, and tables laid out by alignment alone, come out as Markdown tables. Very elaborate ones — cells merged across rows, a table broken over two pages — can need a touch-up afterwards.

Does it extract images and charts?

Yes. Turn on Extract images and every picture is saved as a file and linked from the Markdown: photos as JPEG or PNG, charts and diagrams drawn with lines as SVG with their labels still text. Fax-encoded scans, JBIG2 and JPEG 2000, which browsers cannot show, are decoded to PNG. A picture that cannot be turned into an honest image file is noted in the Markdown rather than guessed at.

Can I use it with ChatGPT or Claude?

Yes. Paste the Markdown into any chat — it is the format language models read best. In Claude you can also add pdf2md as a connector: it gets a ready-to-run request for your file, and the document itself never passes through the conversation.

Does it open password-protected PDFs?

Yes. Type the password under Options. It is used inside the tab, like the file, and sent nowhere.

Can I convert a lot of files at once?

Drop several PDFs at once and each gets its own result. For hundreds or thousands, the command-line tool and the HTTP API do the same job in a script.

Can I use it at work?

Personal and other non-commercial use is free under PolyForm Noncommercial 1.0.0, and there is a 32-day trial for trying it out at work. Commercial use needs a licence — write to sergey@dudko.dev.

Your next PDF is one drop away.

No upload. No sign-up for the first few.

Convert a PDF free