Skip to main content
PulsarKit

PDF to Markdown

Turn a PDF into clean .md with headings, lists, emphasis and working links, ready for your notes app or repository.

Drop your files here

.pdf · up to 300 MB

Headings
More settings

How to Convert to Markdown

  1. 1

    Add your PDF

    Drop in one file or up to ten. Your browser opens the document itself, so nothing is sent to a server.

  2. 2

    Choose heading detection and images

    Keep automatic heading levels, flatten everything to one level, or drop headings entirely. Decide whether images are extracted, mentioned or skipped.

  3. 3

    Download the .md

    Save the Markdown file, or a ZIP with the images folder beside it when you asked for pictures.

How structure is recovered from a file that has none

A PDF does not know what a heading is. It knows that some glyphs are 26 points tall and others are 10, and that is all. So the converter measures the document first: it builds a histogram of type sizes weighted by how many characters are set in each, and the heaviest size becomes the body text. Everything noticeably larger becomes a heading, and the distinct heading sizes are ranked so the biggest one is a level one, the next a level two, and the rest level three. Lines that end in a full stop or run past 180 characters are never promoted, because a long sentence in a big font is a pull quote, not a title. Bullets and numbers at the start of a line become list items, and their nesting comes from how far they are indented.

Emphasis, links, code and images

Bold and italic come from the real font names inside the file, so a run set in a semibold face comes out wrapped in asterisks. Link annotations are matched against the text they sit on and rewritten as proper Markdown links with their target URLs. Monospaced lines are wrapped in a fenced code block with their spacing intact, and indented blocks at body size become quotes. Images can be extracted as PNG files into an images folder next to the Markdown, mentioned as captions, or left out. Optional front matter adds a YAML block with title, page count, source name and date for static site generators and note vaults.

Nothing is uploaded

The conversion runs entirely inside your browser tab. Your PDF is parsed in memory, the Markdown is assembled there, and the download comes straight from the page. No file is sent over the network, no account is needed, and there is no server copy to worry about afterwards. Close the tab and every trace is gone.

Frequently asked questions

How are heading levels decided?

By type size relative to the body text of the document, not by any tag in the file. The largest heading size becomes a level one, the next largest a level two, everything else a level three. You can raise or lower the threshold if a document uses subtle size differences.

Why are my tables not converted?

Because a table in a PDF is drawn lines plus loose text, with no rows or cells recorded anywhere. The cell text is kept, but the grid cannot be reconstructed reliably. When a grid is detected you are told so and pointed at the PDF to Excel tool, which is built for that job.

What if my PDF is a scan?

Then there is no text to mark up and you get a clear message instead of an empty file. Run OCR on the document first to create a text layer, then convert it here and the headings and lists will be detected as usual.

Can I get the images out too?

Yes. Set images to extract and the result is a ZIP holding the .md file and an images folder, with each picture referenced from the right place in the text. Pictures smaller than 100 by 100 pixels are treated as icons and skipped.

Are hyperlinks kept?

Yes. Link annotations are matched to the words they cover and written out as Markdown links, so the anchor text and the URL both survive. Links that point inside the document rather than to the web are left as plain text.

How is this different from extracting plain text?

Plain text gives you the words and nothing else. Markdown keeps the shape of the document: heading levels, list nesting, bold and italic, quotes, code blocks and links. Pick text when you only need the content, Markdown when you need the structure.

Does my file get uploaded?

No. The PDF engine runs in your browser, so the document never leaves the machine. That holds for image extraction as well: the pictures are decoded and packed locally, and the ZIP is built in the page.

Is the output ready for Obsidian or a static site?

Yes. The output is plain CommonMark with relative image paths, so it drops straight into a vault or a content folder. Turn on front matter to get a YAML block with the title, page count, source file and date at the top.

Related tools