Convert PDF to Markdown for Obsidian

Obsidian can store a PDF in your vault, but it stays a PDF: opaque to search, invisible to the graph, impossible to link into. Converting it to Markdown turns the contents into a note you can actually work with.

How to convert PDF to Markdown for Obsidian?

Drop the PDF into the converter on this page, download the .md file, and move it into your vault folder. Obsidian indexes it on the next scan, with headings feeding the outline and graph views.

Why convert a PDF instead of storing it in the vault?

A PDF in Obsidian cannot be searched by content, linked into, or shown in the graph. As Markdown it becomes a first-class note: searchable, backlinkable, and editable alongside your own writing.

Drop your PDF here

or choose a file from your computer

PDF only · up to 50 MB

How to import a PDF into Obsidian as Markdown

  1. 1

    Convert the PDF

    Drop your PDF onto the converter on this page and wait a few seconds for the Markdown to appear.

  2. 2

    Check the heading structure

    Skim the preview. Obsidian builds its outline from heading levels, so fix any H1 that should be an H2 before you save.

  3. 3

    Download the .md file

    Use the download button. The file is named after the source PDF, which becomes the note title in Obsidian.

  4. 4

    Move it into your vault

    Drop the .md file into any folder inside your vault. Obsidian picks it up automatically, no import step needed.

  5. 5

    Link it into your notes

    Add wikilinks, tags, or YAML frontmatter as you would with any note. The converted text is ordinary Markdown from here on.

What Obsidian does with the output

Obsidian reads plain Markdown files from a folder, so a converted note needs no import process at all. Copy the file in and it appears.

Heading levels matter more in Obsidian than in most editors, because several features are built on them.

  • The outline panel is generated from H1 to H6, so accurate heading detection gives you a usable table of contents immediately
  • Block references and heading links (using ^ and #) only work against real headings, not bold text pretending to be one
  • Folding follows heading structure, which makes a long converted document navigable
  • GFM pipe tables render natively in both editing and reading modes

Adding frontmatter and links

The converter outputs the document body only. It does not invent YAML frontmatter, tags, or wikilinks, because guessing at those produces noise you then have to clean up.

If you want frontmatter, add it in the editor before downloading, or paste it at the top of the note once it is in your vault. The same applies to wikilinks: converting every capitalised phrase into a [[link]] would wreck your graph, so the tool leaves that decision to you.

Privacy, for a tool that touches your vault

Vaults tend to hold research notes, client material, drafts, and journals. A converter that uploads its input is a poor fit for that context, whatever its privacy policy says.

This one parses the PDF in your browser and makes no upload request. The document, and the fact that you converted it, both stay on your machine.

Frequently asked questions

Does this work with Obsidian Sync or iCloud vaults?
Yes. The output is an ordinary .md file. However your vault syncs, a converted note syncs the same way as any other note.
Will it create wikilinks automatically?
No, and that is deliberate. Auto-linking every proper noun would fill your graph with spurious connections. Add the links you actually want.
Can I convert a whole folder of PDFs at once?
Not in the browser, which handles one file at a time. The desktop app supports batch conversion of a folder, which suits building a vault from an existing PDF library.
What about annotations and highlights in the PDF?
Annotation layers are not extracted. Only the document text is converted, so highlights and margin notes will not appear in the output.
How does this compare to the Obsidian PDF++ plugin?
PDF++ improves how Obsidian displays and annotates a PDF that stays a PDF. This converts the document into Markdown instead, which is the better route when you want the text itself in your vault.

Related converters