ubin.sh

PDF to Markdown

Convert a PDF to Markdown entirely in your browser — headings, paragraphs, lists, and links, with no upload.

Drop a PDF here, or click to choose

Processed in your browser — the file is never uploaded

About this tool

Drop a text-based PDF to extract its content as Markdown — headings (inferred from font sizes), paragraphs, bullet and numbered lists, links, and bold/italic runs. Everything runs locally via pdf.js; the file never leaves your browser, which matters for contracts, resumes, and internal docs.

Handy for feeding documents into an LLM, moving content into a wiki or Notion, or diffing two revisions. PDFs carry no real structure — just positioned glyphs — so the conversion is a best-effort reconstruction.

Frequently asked questions

Does my PDF get uploaded anywhere?+

No. Parsing happens entirely in your browser with pdf.js — nothing is sent to a server. That is the main reason to use this over upload-based converters for sensitive documents.

Why is the output messy for some PDFs?+

PDFs store positioned glyphs, not structure, so headings, paragraphs, and lists are reconstructed heuristically from font sizes and spacing. Multi-column layouts, footnotes, and complex tables are the hardest and may come out jumbled.

Can it convert scanned PDFs?+

No. Scanned PDFs are images with no selectable text, which needs OCR — not supported here. If the output is empty, your PDF is almost certainly a scan.

How are tables handled?+

Poorly, honestly. Table cells are just text at coordinates with no row/column metadata, so they usually flatten into lines. For tabular data, exporting to CSV from the source is far more reliable.

Why are some headings wrong?+

Heading levels are guessed from relative font size. A document that styles headings by weight or color rather than size, or uses many sizes, can confuse the heuristic — fix the few lines by hand after converting.

Related tools