PDF to Markdown for Logseq: Outline-Ready Conversion
Logseq is outline-first: every line is a block, every block can be referenced from anywhere. PDFs uploaded directly stay opaque attachments. Converted to Markdown, the same content becomes a tree of referenceable blocks where every paragraph has its own UUID and backlink graph entry.
How Logseq stores Markdown
Logseq files look like normal Markdown but each - bullet is a discrete block with its own ID. Convert a PDF to Markdown, drop it in your pages/ directory, and Logseq parses every paragraph into the block graph. From that point you can [[link]] to any block, embed it elsewhere with ((block-ref)), or query across them via Datalog.
Outline conversion tips
If your PDF has a strong heading hierarchy, convert as-is: Logseq treats headings as blocks too. For prose-heavy content, consider post-processing the converted Markdown to break long paragraphs into shorter blocks (one idea per bullet); the result is more useful in Logseq's outliner UI and easier to reference selectively from journal entries.
Frequently asked questions
How does Logseq handle Markdown imports?
Logseq watches its pages/ directory for .md files and parses each one into its block graph automatically. Add a converted file there and it's available immediately, no separate import step. Each - bullet becomes a block with its own UUID.
Can I reference blocks from converted PDFs in journal entries?
Yes, once the converted file is in pages/, every block in it can be referenced via ((block-uuid)). Type (( and start searching to find blocks across all your pages, including converted content.
Should I split long PDFs into multiple Logseq pages?
For documents over ~30 pages, yes. Logseq performs better with smaller files, and the outliner UX gets unwieldy on multi-thousand-block pages. Split by H1 (one page per chapter) or by topic, link them from a parent index page.
How do tags from converted content work in Logseq?
Logseq treats #tag mentions as block-level tags and surfaces them in the right sidebar. Add tags after conversion by editing the imported file, or scan for keywords post-conversion and inject #tags programmatically before saving.
Can I query across converted PDFs with Logseq queries?
Yes: queries (Datalog or simple {{query}} blocks) treat converted content the same as hand-written content. A query like {{query (and [[machine-learning]] [[2025]])}} will match blocks across every imported document.