CHECKING STATUS
I AM LISTENING TO
|

Markdown LevelUP: Readers, Diagrams, Site Builders, Parsers and CLI Tools

26. August 2026
.SHARE

Table of Contents

Everybody writes about Markdown editors. I did too, in The Best Open Source Markdown Editors for Writing and Beyond. But here’s the thing nobody tells you: the editor is the least interesting part of the whole stack. It’s the moment after you hit save where Markdown gets genuinely wild.

Your .md file can be rendered in a terminal, queried like a database, turned into a diagram, compiled into a documentation site, served over HTTP/3 with automatic TLS, projected onto a screen as a slide deck, or shoved into an LLM context window at a third of the token cost. Same file. No conversion ceremony. That’s the actual superpower.

So this article deliberately skips editors entirely. No Typora, no Obsidian, no VS Code extensions. Instead: readers, diagram languages, static site builders, parser libraries, CLI weirdness, presentation tools and the servers that turn a folder of Markdown into a website. And because 2026 has gotten crowded with slick commercial products in this space, I’m splitting everything clearly into open source and paid.

Have a tool to share, let me know!

Why the Markdown Ecosystem Exploded

Markdown has been around since 2004. So why did the tooling around it go nuclear in the last two years? A few reasons:

  • AI agents write Markdown by default. Claude, Copilot, Codex, Gemini — they all emit Markdown. Suddenly everyone has folders full of .md files they need to read, not edit. That’s a completely different tool category, and it barely existed three years ago.
  • Token economics. Markdown costs dramatically fewer tokens than HTML for the same content. I dug into this in my llms.txt and serving Markdown to AI guide. When your API bill scales with tokens, format choice becomes a budget line.
  • CommonMark actually stabilised things. The CommonMark spec and GitHub Flavored Markdown gave library authors something concrete to target. Parsers now agree on most things, which makes building on top of them viable.
  • Plain text outlives everything. Your Notion workspace, your Confluence space, your fancy SaaS wiki — all of them are one acquisition away from a migration nightmare. A folder of .md files in git is not.
  • Diagrams-as-code went mainstream. Once GitHub started rendering Mermaid inside fenced code blocks, “the diagram lives in the repo” stopped being a nerdy preference and became normal engineering practice.

Markdown Readers: Tools That Only Render, Never Edit

Quick Answer: Markdown readers render .md files as formatted documents without any editing UI — the Preview.app equivalent for Markdown.

This category barely existed before AI assistants started dumping documentation into everyone’s project folders. Now it’s one of the fastest-growing corners of the ecosystem. You don’t want a full editor to skim a README. You want the thing rendered, fast, and then you want it gone.

Glow (Open Source)

Glow from the Charm folks is the default answer for terminal rendering, and deservedly so. MIT licensed, written in Go, actively maintained. Run it with a filename and it pipes a beautifully styled document through a pager. Run it with no arguments and it launches a TUI that goes hunting for Markdown files in your subdirectories and git repos.

The Go install path moved to the v3 module line, so if you’ve had Glow installed for years, it’s worth reinstalling rather than assuming your old binary is current.

Frogmouth (Open Source)

Frogmouth from the Textualize team (the people behind Textual and Rich) takes a different angle. It’s not a renderer, it’s a browser. Navigation stack, back button, history, bookmarks, table of contents sidebar. It opens local files and remote URLs, and it keeps state between sessions.

If you’re reading through a documentation tree with lots of relative links between files, Frogmouth beats Glow easily. For a quick one-off render, Glow wins.

mdcat (Open Source, But Archived)

Honest heads up on this one. mdcat was the nicest cat replacement for Markdown — inline images on kitty, iTerm2, WezTerm and Ghostty, proper hyperlinks, syntax highlighting, all in Rust. The catch: the maintainer archived the repository in June 2026. It still works, it’s still in most package managers, but it’s frozen. Don’t build a workflow around it expecting fixes.

MarkView (Free, Closed Source)

MarkView is a free native desktop reader for macOS (Apple Silicon and Intel), Windows and Linux. Built by Doug Kerwin specifically for the “my AI assistant generated fourteen Markdown files and I just want to read them” problem. GitHub-style rendering, no paywall, no editing UI. It’s not open source, but it costs nothing and it’s the easiest recommendation for non-terminal people on any platform.

MacMD Viewer (Paid)

MacMD Viewer is the commercial macOS option, built on a specific philosophy: it’s Preview.app for Markdown. Native SwiftUI, reading only, no writing toolbar at all.

  • 12 document themes
  • Syntax highlighting for common languages
  • Mermaid diagram rendering with no plugin config
  • Zoom for diagrams and tables
  • Live reload at roughly 50ms when a file changes on disk
  • QuickLook extension for rendered previews in Finder

Pricing is one-time, not subscription: $19.99 single licence (around €19), $39.99 for a three-licence family pack, team licences from $129. Available via Homebrew and Setapp, with a 14-day money-back guarantee.

MDHero (Paid, With Free Tier)

MDHero is a Tauri and Rust build, so the binary is tiny compared to the Electron crowd. GitHub-Flavored Markdown, syntax highlighting for 25+ languages, KaTeX math and Mermaid diagrams. Cross-platform with a Windows focus. Worth a look if you want Mermaid rendering on Windows without opening a browser.

Reader Comparison

Tool
Type
Platform
Licence
Cost
Best for
CLI + TUI
macOS, Linux, Windows, BSD
MIT
Free
Fast terminal rendering, remote URLs
TUI browser
Cross-platform (Python)
MIT
Free
Navigating linked doc trees
CLI
Cross-platform (Rust)
MPL-2.0
Free
Inline images — but archived June 2026
Desktop GUI
macOS, Windows, Linux
Proprietary
Free
Non-technical readers on any OS
Desktop GUI
macOS only
Proprietary
$19.99 one-time
Native SwiftUI reading with themes and Mermaid
Desktop GUI
Windows, macOS, Linux
Proprietary
Free tier + paid
Lightweight Tauri app with KaTeX

File Manager Extensions: Preview Without Opening Anything

Quick Answer: QuickLook and preview handler extensions render Markdown inside your file manager when you hit space, with no app to launch at all.

This is the lightest-weight category in the whole article and probably the highest daily value. You don’t open anything. You select a .md file, tap space, read it, tap space again. Given how many Markdown files land in your project folders these days, shaving an app launch off that loop adds up fast.

QLMarkdown (Open Source, macOS)

QLMarkdown by sbarex is the one to install. GPL-3.0 and genuinely maintained — v1.5.2 landed on 30 June 2026 with light/dark appearance options, printing support and an updated Highlight engine, and the repo has kept moving since.

It’s built on cmark-gfm, GitHub’s own fork of the CommonMark reference parser, so what you see matches what GitHub shows. The extension list is much longer than you’d expect from a preview plugin:

  • Mermaid diagrams rendered inline, no config
  • MathJax for mathematical expressions
  • Syntax highlighting in fenced code blocks
  • Emoji shortcode translation
  • YAML front matter rendering
  • Footnotes, tables, task lists, strikethrough, subscript and superscript
  • Inline local images (needs read permission granted to the extension)
  • File types beyond .md: .rmd, .mdx, .qmd, .apib and .mermaid

It also ships a command-line tool and an experimental Shortcuts extension for batch converting Markdown to HTML. The precompiled build is signed and notarized, so no Gatekeeper wrestling.

One thing the author is explicit about: this is not a standalone editor or viewer. It’s a Quick Look extension and a converter, nothing more. That focus is exactly why it’s good.

PreviewMarkdown (Open Source, macOS)

PreviewMarkdown by smittytone is the other free macOS option, and it does one thing QLMarkdown is weaker on: thumbnails. It generates Quick Look previews and Finder icon thumbnails for .md, .mdown and .markdown files, so your folders show rendered document previews instead of generic file icons.

Built on markdown-it via HighlighterSwift and YamlSwift, with configurable font, size, colours and line spacing, optional YAML front matter rendering, and a system-wide text service for converting Markdown to HTML or plain text. Source is on GitHub, distribution is through the Mac App Store, and it needs macOS Big Sur or newer.

Markdown Preview by Anybox (Paid, macOS)

Markdown Preview is the $2.99 Mac App Store option (roughly €3). It’s the zero-friction choice: install from the App Store, enable, done, with no Terminal step and no “launch the app once” ritual. GitHub Flavored Markdown spec support, Mermaid diagrams, and lifetime free updates including major versions.

At three euros it’s not really competing with QLMarkdown on price so much as on hassle. If you want it working in thirty seconds and never thinking about it again, that’s what you’re paying for.

QuickLook for Windows (Open Source)

QuickLook from QL-Win does exactly what the name says: it brings the macOS space-bar preview to Windows. GPL-3.0, and one of the most widely used Windows utilities in this whole category. It handles 100+ formats including images, video, documents, code, 3D models and archives, and the Markdown viewer renders Mermaid diagrams.

The plugin architecture is the interesting part — it loads any DLL from the plugin directory implementing the IViewer interface, so the format list keeps growing without the core project touching anything.

Microsoft PowerToys (Open Source, Windows)

If you’d rather stay first-party, PowerToys File Explorer add-ons give File Explorer preview pane and thumbnail support for Markdown, alongside SVG, PDF, G-code and QOI. MIT licensed, shipped by Microsoft, and about as safe a bet as this category gets.

The companion utility is PowerToys Peek, which is the closer analogue to macOS Quick Look — select a file, hit space, preview it, including Markdown. As of Files v4.0.24 the third-party Files explorer integrates Peek too.

The catch: PowerToys preview handlers are notorious for silently breaking after Windows updates. If yours stops working, toggling the add-on off and on in PowerToys settings usually fixes it.

Linux: The Weak Spot

Honest assessment — Linux is genuinely behind here, and I’d rather say so than pad this section out.

GNOME Sushi is the Quick Look equivalent for Nautilus and it’s been shipping for years, but it treats Markdown as plain text. You get a monospaced wall of syntax with line numbers, not a rendered document. There’s a long-standing wish for proper Markdown rendering and it hasn’t landed.

Third-party attempts exist — gnome-markdown-ql adds rendered Markdown previews to Nautilus on space — but it’s a one-person side project with no commits since mid-2025 and no licence file. Use it if you want, just know what you’re adopting.

For KDE, kdegraphics-thumbnailers and kdesdk-thumbnailers cover Dolphin’s preview infrastructure, but again, no dedicated Markdown renderer. Realistically, the best Linux answer today is still a terminal tool: keep Glow or Frogmouth one keystroke away and skip the file manager entirely.

File Manager Extension Comparison

Extension
OS
Licence
Cost
Mermaid
Thumbnails
macOS
GPL-3.0
Free
Yes
No
macOS
Open source
Free (App Store)
No
Yes
macOS
Proprietary
$2.99 one-time
Yes
No
Windows
GPL-3.0
Free
Yes
No
Windows
MIT
Free
Limited
Yes
Linux
GPL-2.0
Free
No
No
Linux
Unlicensed
Free
No
No

If you’re on a Mac and you only take one thing from this article, make it this: install QLMarkdown, or PreviewMarkdown if you want folder thumbnails too. Both are free, both take two minutes, and Finder stops being useless for Markdown forever.

Serving Markdown: Turn a Folder Into a Website Instantly

Quick Answer: These tools serve a directory of Markdown files as a live website over HTTP with no build step and no generated output folder.

Different from a static site generator. There’s no build, no dist/ directory, no deploy pipeline. You point a binary at a folder and it’s a website. Perfect for internal docs, homelab documentation, or sharing a spec with a colleague in thirty seconds.

Algernon (Open Source)

Algernon is my favourite oddball in this whole article. It’s a single self-contained Go binary, BSD-3-Clause, that happens to be an absurdly capable web server. HTTP/2 and HTTP/3 via QUIC, TLS 1.3, automatic Let’s Encrypt certificates, an embedded Lua interpreter, template engines (Pongo2, Amber), JSX/React and TypeScript handling, CSS preprocessing, and database backends spanning Redis, PostgreSQL, MySQL, SQLite and built-in BoltDB.

And it renders Markdown natively. Any index.md becomes a styled HTML page automatically.

That last command is the reason Algernon deserves attention. One binary, no reverse proxy, no certbot cron job, no nginx config. Markdown folder to public HTTPS site in a single line. For homelab documentation this is genuinely hard to beat. Note it needs Go 1.26+ if you’re building from source.

markserv (Open Source)

markserv is the Node.js take: serve Markdown as GitHub-styled HTML, index directories, and hot-reload over WebSocket as you edit. When you save, the page content updates in place without a full reload. Less ambitious than Algernon, more focused. There’s also a Docker image if you want it running as a service.

Docsify (Open Source)

Docsify is the no-build documentation site. It’s a single JavaScript file that loads your Markdown at runtime and renders it client-side. No generated HTML, nothing to compile, nothing in git except your .md files and one index.html. The trade-off is real though: because rendering happens in the browser, search engines and AI crawlers see an empty shell unless you add server-side rendering. In 2026 that’s a bigger downside than it used to be.

Markdown-Inspired Extensions: Diagrams, Math and Structured Documents

Quick Answer: These languages borrow Markdown’s plain-text philosophy to describe diagrams, math and structured documents that plain Markdown can’t express.

Mermaid (Open Source Core, Paid Cloud)

Mermaid is the one that changed everything. Markdown-inspired text definitions that render into flowcharts, sequence diagrams, Gantt charts, ER diagrams, state machines and more. The killer feature was never the syntax — it was GitHub and GitLab rendering it natively inside fenced code blocks. No build step, no image export, no external service. Your architecture diagram lives in the README and updates with a text edit.

The project has kept moving fast. v11.13.0 added Venn and Ishikawa diagram types plus a backward-compatibility fix for v10 syntax, and the 11.14 to 11.16 line brought Wardley Maps, TreeView, Cynefin, Railroad and Swimlane diagrams into the mix. The open source docs now live at mermaid.ai/open-source alongside the commercial side.

Speaking of which: Mermaid Chart is the paid product. Free tier covers individuals and small teams with unlimited AI diagram generation, whiteboard and version history. Pro runs about $6.67 per user per month billed annually (roughly €6), Enterprise is custom with SSO/SAML. The core library stays MIT licensed and always will — the commercial layer is the hosted editor, collaboration and AI features.

The catch: Mermaid’s auto-layout starts producing awkward results once you push past a dozen or so nodes, and it doesn’t cover formal UML, C4 or deployment diagrams. If you need precise positioning control, the mostly-automatic approach gets frustrating fast.

D2 (Open Source)

D2 from Terrastruct launched in 2022 specifically to fix Mermaid’s and PlantUML’s annoyances. MPL-2.0 licensed, fiscally sponsored by Hack Club. The syntax is cleaner, it does animated diagrams from text (genuinely the only one that does), sketch mode gives you a hand-drawn look, and it handles code snippets, SQL tables and Markdown blocks inside diagram nodes.

The headline differentiator is TALA, a layout engine purpose-built for software architecture diagrams that produces noticeably better results than dagre (what Mermaid uses) or GraphViz (what PlantUML uses). It installs as a separate binary plugin. The downside for D2 overall: no native GitHub rendering, so you need a build step or a plugin in your pipeline.

PlantUML (Open Source)

PlantUML is the elder statesman and still unbeaten in two areas: sequence diagrams and full UML coverage. Participants, lifelines, activation bars, grouped messages, notes — it handles genuinely complex interactions gracefully where Mermaid gets messy. If you need every UML diagram type plus extensive icon libraries, this is still the answer. It’s Java-based, which is either fine or a dealbreaker depending on your stack.

MyST, Quarto and MDX (Open Source)

These three extend Markdown itself rather than sitting next to it.

MyST (Markedly Structured Text) is a CommonMark superset that brings reStructuredText’s directives and roles into Markdown. Cross-references, figures with captions, admonitions, citations, executable content. It’s the scientific and technical publishing choice, born out of the Sphinx and Jupyter ecosystems.

Quarto is Posit’s publishing system built on Pandoc. Executable code in Python, R, Julia and Observable, then output to HTML, PDF, Word, slides, books, websites. Big news for 2026: Posit announced in April that Quarto 2 is being fully rewritten in Rust, with a collaborative editor, a new Markdown parser and a source tracker for faster debugging.

MDX lets you import and render JSX components directly inside Markdown. It’s the backbone of most React-based documentation sites. Powerful, but it makes your content files dependent on a JavaScript build — your Markdown is no longer portable plain text.

Djot deserves a mention as the contrarian option. Created by John MacFarlane (the same person behind CommonMark and Pandoc), it’s a clean-slate redesign that fixes Markdown’s syntax ambiguities. Small ecosystem, but if you’ve ever been bitten by Markdown’s emphasis-parsing edge cases, it’s a breath of fresh air.

Heads up: the lack of a standard extension mechanism in Markdown means Quarto, MyST and MDX are mutually exclusive dialects. Content written for one doesn’t move cleanly to another. Pick deliberately.

Diagram Language Comparison

Tool
Licence
GitHub native render
Layout quality
Paid tier
Best for
MIT
Yes
Good to ~12 nodes
Mermaid Chart from ~$6.67/user/mo
READMEs, issues, wikis, quick flowcharts
MPL-2.0
No (needs build step)
Excellent with TALA
Core free; TALA separate plugin
Software architecture, animated diagrams
GPL
No
Excellent for sequences
Free
Full UML, sequence diagrams, enterprise
MIT
No
n/a
Free
Scientific and academic publishing
MIT
No
n/a
Free
Reproducible research, executable docs
MIT
No
n/a
Free
React-based documentation sites

Static Site Builders: Markdown In, Website Out

Quick Answer: Static site generators compile Markdown into HTML at build time, giving you fast, cheap, CDN-friendly sites with no runtime server.

The 2026 landscape has settled into a clear shape: Astro is the new default for content-first sites, Hugo is still the raw speed champion, and everything else fills a specific niche.

Astro and Starlight (Open Source)

Astro has become the default choice for content-focused sites, and it earned it. Zero JavaScript shipped by default, islands architecture so only genuinely interactive components hydrate, and React, Vue, Svelte and Solid components can coexist in one project. Astro 6 went stable in February 2026 with a content layer that builds a 100-post Markdown site in roughly 200 milliseconds. Astro 6.4 added a pluggable Markdown processor API and a Rust-based Markdown processor for faster builds.

Starlight is the documentation theme built on Astro, and it has been eating Docusaurus market share at an impressive rate. Version 0.39 brought more flexible autogenerated sidebars, better styling and stronger multilingual support. If you’re picking a docs framework today and you don’t have a strong reason to be in the Vue or React ecosystem specifically, Starlight is the safe bet.

VitePress (Open Source)

VitePress is the Vue-native option, born from the Vite ecosystem. Instant server start, lightning-fast HMR, minimal config. It strikes a nice balance between convention and customisation, and it’s what a huge chunk of the Vue ecosystem documents itself with. If your team is already Vue, this is a no-brainer. If not, Starlight is the more framework-agnostic pick.

Hugo and Zola (Open Source)

Hugo is still the fastest static site generator by a wide margin. Single Go binary, no Node.js, no dependency tree to maintain. Thousands of pages build in seconds. The trade-off is Go templating, which people either tolerate or actively resent.

Zola is the Rust equivalent — one binary, everything built in (Sass compilation, syntax highlighting, search index generation), no plugin hunting. It has real momentum but the ecosystem is thin compared to Hugo. Great if you like the “everything included, nothing to configure” philosophy.

MkDocs Material, mdBook and Docusaurus (Open Source)

MkDocs Material is the Python world’s documentation standard, and by community size it dwarfs the digital-garden competition. Extremely polished, huge plugin ecosystem, sensible defaults. Built for hierarchical structured content, not networked notes.

mdBook is what the Rust project uses for its own books. Markdown chapters plus a SUMMARY.md defining the table of contents, output is a searchable book-style site. Simple, fast, focused.

Docusaurus is Meta’s React-based docs framework. Versioned documentation and i18n out of the box, which is why big projects still choose it. It’s losing ground to Starlight for new projects, but the versioning story is genuinely strong.

Quartz (Open Source)

Quartz is the digital garden option and the free alternative to Obsidian Publish. Now at v5.0.0, needs Node 22+. Wikilinks, backlinks, graph view, full-text search, LaTeX, syntax highlighting and hot reload, all batteries-included with no plugin hunting. Point it at your notes vault, run a build, deploy the output anywhere static.

Site Builder Comparison

Builder
Language
Licence
Build speed
Best for
JavaScript
MIT
Very fast (Rust processor in 6.4)
Content sites, blogs, marketing pages
JavaScript (Astro)
MIT
Very fast
Documentation, framework-agnostic
JavaScript (Vue)
MIT
Very fast
Vue projects, minimal docs sites
Go
Apache-2.0
Fastest
Large sites, thousands of pages
Rust
MIT
Very fast
Single-binary simplicity, no Node.js
Python
MIT
Fast
Technical docs, Python shops
Rust
MPL-2.0
Fast
Books, tutorials, handbooks
JavaScript (React)
MIT
Moderate
Versioned docs, i18n-heavy projects
JavaScript
MIT
Fast
Digital gardens, linked notes
JavaScript
MIT
Fast
Purist static sites, zero client JS

Eleventy earns its spot there — it remains the best choice when you want a genuinely static site with no client-side interactivity at all and no framework opinions imposed on you.

Parsers and Code Libraries

Quick Answer: Markdown parsers turn text into HTML or an AST — pick based on your language, speed needs, and whether you need plugins or security.

If you’re building anything that touches Markdown programmatically, this is where you’ll live. The choice matters more than people assume, because the performance gap between options is roughly 5x and the security models differ substantially.

JavaScript

markdown-it is the most-downloaded option at roughly 20M weekly npm pulls. CommonMark compliant, excellent plugin architecture, safe by default. It’s what most projects should reach for when rendering user-supplied content.

marked is the speed option at around 15M weekly downloads. It parses a 10,000-word document in roughly 3ms — about 5x faster than remark. If you’re processing content at scale and don’t need a plugin ecosystem, this is your throughput winner.

remark sits at the centre of the unified ecosystem with 300+ plugins for linting, transforming and generating. Roughly 8M weekly downloads. It’s slower because it builds a proper AST, but that AST is exactly why you’d use it — programmatic manipulation of document structure, not just HTML output. micromark is the low-level CommonMark-compliant engine underneath it.

Rust, Go, Python and C

comrak is the Rust CommonMark and GFM parser, a fairly direct port of the cmark reference implementation. Battle-tested and used in production by GitHub-adjacent tooling. pulldown-cmark is the pull-parser alternative — it’s what mdBook and much of the Rust docs tooling runs on. markdown-rs is the newer entry from the micromark author, with CommonMark and MDX support.

goldmark is Go’s answer, and it’s what Hugo uses. Performance is on par with cmark, the C reference implementation, and it’s designed around clean extensibility. If you’re writing Go, this is the one.

markdown-it-py is the Python port of markdown-it, maintained by the Executable Books folks, and it’s what MyST builds on. cmark is the C reference implementation — the thing every other parser is measured against.

Parser Comparison

Library
Language
Approx. weekly downloads
Strength
Pick it when
JavaScript
~20M
Plugins + safety
Rendering user-submitted content
JavaScript
~15M
Raw speed (~3ms / 10k words)
High-throughput batch processing
JavaScript
~8M
300+ plugins, real AST
Transforming or linting documents
JavaScript
n/a
Spec-exact low-level engine
Building your own tooling
Rust
n/a
cmark-faithful GFM
Rust services needing GitHub parity
Rust
n/a
Pull parser, low allocation
Rust CLI tools and mdBook plugins
Go
n/a
cmark-level speed, extensible
Anything in Go (it powers Hugo)
Python
n/a
markdown-it plugin parity
Python pipelines, MyST projects

CLI Solutions: Query, Convert, Lint and Search Markdown

Quick Answer: Command-line Markdown tools let you search, query, reformat and convert .md files without ever opening an editor.

QMD — Query Markup Documents (Open Source)

QMD from Tobi Lütke is one of the more interesting things to land in this space recently. It’s an on-device search engine for your Markdown — notes, meeting transcripts, documentation — and it runs entirely locally. MIT licensed, TypeScript and Node.js.

What makes it genuinely clever is the hybrid pipeline. BM25 full-text indexing for keyword matching, vector semantic search for meaning, and LLM-based reranking on top, all merged with Reciprocal Rank Fusion. The models run through node-llama-cpp with local GGUF weights, so nothing leaves your machine. It also exposes an MCP server, which means Claude and other agents can search your notes directly.

If you’ve accumulated years of Markdown notes and grep has stopped being enough, this is the tool. Local-only, no cloud dependency, no subscription.

mdq — jq for Markdown (Open Source)

mdq does for Markdown what jq does for JSON: zero in on specific parts of a document with a query language. Written in Rust, dual-licensed MIT/Apache-2.0. The filter syntax deliberately mirrors Markdown syntax itself, and you chain filters with pipes.

The killer use case is CI. GitHub pull requests are Markdown documents, and enforcing template checklists usually means writing horrible regexes. With mdq you query the structure instead. There’s a WebAssembly playground if you want to try the query syntax before installing.

Pandoc (Open Source)

Pandoc is still the universal document converter and nothing has come close to replacing it. Markdown to PDF, DOCX, EPUB, LaTeX, reveal.js slides, and about forty other formats in both directions. It’s the plumbing underneath Quarto and half the publishing tools in this article.

markdownlint and mdformat (Open Source)

markdownlint is the style checker — inconsistent heading levels, trailing whitespace, bare URLs, missing alt text. The markdownlint-cli2 variant is the one to install for CI use. mdformat is the opinionated formatter, Prettier-style: it reformats rather than complains. Run it as a pre-commit hook and stop arguing about whether lists use dashes or asterisks.

MarkItDown, Docling and mdream (Open Source)

This trio exists because of AI. All three convert other formats into Markdown so LLMs can digest them.

MarkItDown from Microsoft is the fast, lightweight option. PDFs, Office documents, images, audio, HTML — all to Markdown. It leans on text-layer extraction, which is quick but occasionally loses table structure.

Docling came out of IBM Research Zurich and now sits under the LF AI & Data Foundation. MIT licensed. It uses AI layout detection to preserve table structure and reading order far more accurately than MarkItDown. The trade-off is honest: it’s slower and it drags PyTorch into your dependency tree. The common pattern is MarkItDown first, Docling as the fallback when quality isn’t good enough.

mdream is Harlan Zw’s HTML-to-Markdown converter built specifically for LLM pipelines. MIT licensed, zero dependencies, with a Rust NAPI engine. The claims are specific: 33x faster than Turndown on 166kB of HTML and 38% fewer o200k_base tokens in the output. There’s also @mdream/crawl for whole-site crawling and llms.txt artifact generation.

Presentations: Slides From a Text File

Quick Answer: Markdown presentation tools turn a plain text file into a slide deck, versionable in git and exportable to PDF or PPTX.

presenterm (Open Source)

presenterm is the one I’d point most developers at, especially if you live in a terminal. Written in Rust, BSD-2-Clause. Your presentation runs in the terminal, and it’s not a compromise version.

Images and animated GIFs render properly on kitty, iTerm2, WezTerm, Ghostty and Foot. It renders Mermaid and D2 diagrams inline. LaTeX and Typst formulas work. Code snippets get syntax highlighted with selective and dynamic highlighting, and you can execute them live during the talk. Plus column layouts, themes, slide transitions, incremental reveals, speaker notes, hot reload while editing, and PDF and HTML export.

The advantages are speed, offline operation, tight CLI integration and repeatable exports for CI. No browser, no Electron, no 400MB of node_modules.

Marp (Open Source)

Marp is the pragmatic choice: the fastest path from a Markdown file to a polished PDF or PPTX. MIT licensed. The ecosystem splits into Marpit (the framework), Marp Core (the converter with built-in themes), Marp CLI (export to HTML, PDF, PPTX and images) and a VS Code extension with live preview.

If your organisation runs on PowerPoint and you refuse to open PowerPoint, Marp is the diplomatic solution. Custom CSS themes, image backgrounds and multi-column layouts, all from Markdown.

Slidev (Open Source)

Slidev is the most popular of the bunch by some distance. MIT licensed, built by Anthony Fu on Vue and Vite. It’s the choice for conference talks where the code demos need to feel alive: line-by-line code highlighting animations, embedded interactive Vue components, live coding, drawing and annotation, presenter mode with remote control, Mermaid diagrams, LaTeX, icon sets, and export to PDF, PNG and PPTX.

reveal.js and patat (Open Source)

reveal.js is the original HTML presentation framework and still the most flexible if you’re willing to work in HTML. Pandoc exports directly to it, which makes it a solid Markdown target. patat is the minimalist Haskell terminal presenter — Pandoc-backed, so it accepts every input format Pandoc does, with automatic reload on file change.

Presentation Tool Comparison

Tool
Runs in
Licence
Exports
Best for
Terminal
BSD-2-Clause
PDF, HTML
Dev talks, offline, code execution live
Browser / CLI
MIT
PDF, PPTX, HTML, images
Corporate decks, training, fast PDF export
Browser
MIT
PDF, PNG, PPTX
Conference talks with live code demos
Browser
MIT
PDF, HTML
Maximum layout flexibility
Terminal
GPL-2.0
None (present only)
Minimal terminal decks via Pandoc

The Paid Side: Commercial Markdown Tools Worth Knowing

Quick Answer: Commercial Markdown tools mostly sell three things — polish, hosted collaboration, and AI features — on top of open formats.

Here’s the thing I like about the paid tools in this space: almost none of them lock up your data. They’re built on plain .md files on disk. You’re paying for the experience, not for access to your own content.

Moment (Paid, With Free Tier)

Moment is the most ambitious thing in this article, and the pitch is deliberately provocative: run your entire business out of a Markdown file.

It’s a collaborative workspace where documents are real Markdown files stored on your local disk, in a git or jj repository. But those documents are natively programmable — there’s a built-in reactive environment with React and Tailwind CSS baked in, so a document can also be a dashboard, a database browser, an internal tool, a Kubernetes pod viewer. It ships an embedded terminal so coding agents like Claude Code, Amp, Codex and Copilot CLI work directly inside it, and it handles API credentials through .env files. Live collaborative editing works offline.

Pricing: free for a single person with unlimited documents, git-backed storage and live rendering. Team is $30/month (roughly €28) for up to 5 users, additional seats $6/user/month, which adds real-time collaboration and access controls. Enterprise is custom for 50+ users with SSO/SAML.

The catch: it’s not open source and there’s no self-hosting option. Your files stay local, which softens that considerably, but the application itself is proprietary. Worth watching regardless — the “documents that are also software” idea is the most genuinely new thing happening to Markdown right now.

Other Paid Options

Tool
What you’re paying for
Price
Open source alternative
Programmable collaborative Markdown workspace
Free solo; $30/mo up to 5 users (~€28)
Quartz + git, or Docsify
Zero-setup QuickLook via the App Store
$2.99 one-time (~€3)
QLMarkdown, PreviewMarkdown
Hosted editor, AI diagrams, collaboration
Free tier; Pro ~$6.67/user/mo (~€6)
Mermaid core (MIT), D2
Zero-config note publishing with hosting
$8/month (~€7.50)
Quartz v5
Architecture-optimised layout engine for D2
Separate plugin install
D2’s default ELK/dagre layouts
Lightweight cross-platform reader
Free tier + paid
Glow, Frogmouth

Open Source vs Paid: How to Decide

Some honest guidance rather than a blanket “always pick open source”:

  • Anything that touches your build pipeline should be open source. Parsers, static site generators, linters, converters. These become load-bearing infrastructure, and a licence change or a shutdown two years in is genuinely painful. Every parser and builder in this article is permissively licensed.
  • Paid makes most sense for hosting, support and hassle removal. Mermaid Chart’s hosted collaboration is a real service with real running costs. App Store viewers sell thirty seconds of setup instead of a Homebrew cask and a “launch it once” step. Neither is something you’d expect a volunteer project to provide.
  • Check whether a free option already covers you. This space has a lot of overlap, and the paid landing page rarely tells you which parts of its feature list you could get for nothing. Quick Look previews are the clearest example: several free, actively maintained extensions do the job. Work out your actual requirement first, then see whether anything still justifies the spend.
  • Check whether your data stays portable. Moment stores plain .md in git. Good viewers only read files you already own. That’s the acceptable shape of a paid Markdown tool. Anything that puts your content in a proprietary database is a different risk category entirely.
  • Watch for the archived-project trap. mdcat is a good reminder — open source doesn’t mean maintained. Check the last commit date before you build a workflow on something.
  • EU angle: one-time purchases beat subscriptions for tools you’ll use for years, and self-hosted open source options mean no cross-border data transfer questions to answer when GDPR review comes around.

Which Markdown Tool Is Right for You?

  • You just want to read AI-generated Markdown files: MarkView if you’re not a terminal person, Glow if you are.
  • You want Finder previews on a Mac: QLMarkdown, free, with Mermaid and MathJax. Add PreviewMarkdown if you want folder thumbnails, or pay $2.99 for Markdown Preview to skip the setup entirely.
  • You want space-bar previews on Windows: QuickLook for the broadest format support, or PowerToys Peek if you prefer staying first-party.
  • You need diagrams in your README: Mermaid. It’s the only one GitHub renders natively, and that matters more than syntax elegance.
  • You need diagrams that don’t look terrible at 40 nodes: D2 with TALA, or PlantUML for anything UML-shaped.
  • You’re building a documentation site today: Starlight. Framework-agnostic, fast, well-maintained. VitePress if you’re already Vue, MkDocs Material if you’re already Python.
  • You have 10,000 pages: Hugo. Nothing beats it on build time at that scale.
  • You want your notes vault online for free: Quartz v5.
  • You need to publish a folder of docs in the next five minutes: Algernon with --letsencrypt.
  • You’re parsing Markdown in code: markdown-it (JS, safe), marked (JS, fast), goldmark (Go), comrak (Rust), markdown-it-py (Python).
  • You’ve lost something in years of notes: QMD. Local hybrid search, no cloud.
  • You need Markdown structure in CI: mdq for querying, markdownlint for style enforcement.
  • You’re giving a technical talk: presenterm for terminal-native and offline, Slidev for browser-based with live code, Marp when you need a PDF or PPTX handed to someone.
  • You’re feeding documents to an LLM: MarkItDown for speed, Docling for fidelity, mdream for web pages.

Glossary

CommonMark
The standardised Markdown specification that resolved most of the ambiguities in the original 2004 syntax. It’s the baseline every serious parser targets today.
GFM (GitHub Flavored Markdown)
CommonMark plus tables, task lists, strikethrough, autolinks and footnotes. Effectively the de-facto standard because it’s what everyone sees on GitHub.
AST (Abstract Syntax Tree)
A structured tree representation of a document. Parsers like remark build one so you can programmatically manipulate headings, links and lists instead of doing regex surgery on text.
Diagram-as-code
Describing a diagram in a text language that a renderer converts to an image, instead of dragging shapes on a canvas. Mermaid, D2 and PlantUML are the main players.
SSG (Static Site Generator)
A tool that compiles Markdown into plain HTML at build time. No database, no runtime server, just files you can drop on any CDN.
Islands architecture
Astro’s approach where a page is static HTML by default and only specific interactive components get JavaScript sent to the browser. Massively reduces page weight.
TUI (Terminal User Interface)
A full interactive application running inside your terminal, with panes, navigation and keyboard shortcuts. Glow and Frogmouth are both TUIs.
BM25
A ranking function for keyword search that scores documents by term frequency and rarity. It’s the classic full-text search algorithm, and QMD combines it with vector search.
Reciprocal Rank Fusion (RRF)
A method for merging multiple ranked result lists into one. QMD uses it to combine keyword and semantic search results without needing comparable scores.
MCP (Model Context Protocol)
An open standard that lets AI assistants connect to external tools and data sources. QMD exposes an MCP server so agents can search your Markdown directly.
QuickLook
The macOS feature where pressing space on a selected file shows a preview. Out of the box it shows Markdown as raw text; extensions like QLMarkdown replace that with a properly rendered document. Windows equivalents are QuickLook by QL-Win and PowerToys Peek.
Preview handler
The Windows equivalent of a QuickLook extension. It renders file contents inside Explorer’s preview pane. PowerToys installs one for Markdown, along with SVG, PDF and G-code.
Thumbnailer
A component that generates the small preview image shown as a file’s icon. PreviewMarkdown does this for Markdown on macOS, so folders show rendered documents instead of generic icons.
cmark-gfm
GitHub’s fork of the CommonMark reference parser, with GitHub Flavored Markdown extensions bolted on. QLMarkdown builds on it, which is why its output matches what you see on GitHub.
llms.txt
A proposed standard file at the root of a site that gives AI crawlers a curated Markdown index of your content. Think of it as a sitemap written for language models.

FAQ

Do I have to pay to preview Markdown files in macOS Finder?

No. QLMarkdown is free and GPL-3.0 licensed, and it renders Mermaid diagrams, MathJax formulas, syntax highlighting and YAML front matter in Quick Look. Install it with brew install --cask qlmarkdown, then launch the app once so macOS registers the extension. PreviewMarkdown is the other free option and it adds Finder thumbnails as well.

Is it ever worth paying for a Markdown viewer?

Sometimes, but work out your actual requirement first. If you only want rendered previews in your file manager, free extensions cover that completely on macOS and Windows. Paid viewers make sense when you want a polished native app with themes and support behind it, or when you would rather not assemble your setup from separate open source pieces.

How do I get Markdown previews in Windows File Explorer?

Two good free options. Microsoft PowerToys adds a Markdown preview handler and thumbnails to File Explorer through its File Explorer add-ons, plus the Peek utility for space-bar previews. QuickLook by QL-Win is the third-party alternative, GPL-3.0 licensed, covering 100+ formats with Mermaid rendering in its Markdown viewer.

Which Markdown parser should I use for user-submitted content?

markdown-it in JavaScript, with html set to false. It is CommonMark compliant, safe by default, and the plugin ecosystem is excellent. In Go use goldmark, in Rust use comrak, in Python use markdown-it-py. Avoid marked for untrusted input unless you sanitise the output separately, since it optimises for speed over safety.

Is D2 better than Mermaid?

For large architecture diagrams, yes. D2’s TALA layout engine produces significantly cleaner results than the dagre engine Mermaid uses, and D2 does animated diagrams and sketch mode. But Mermaid renders natively in GitHub, GitLab and dozens of other tools with no build step. That single fact wins most of the time for READMEs and issues.

What is the fastest static site generator for Markdown in 2026?

Hugo, by a wide margin, especially past a few thousand pages. Astro closed a lot of the gap in version 6.4 with a Rust-based Markdown processor and a content layer that builds a 100-post site in about 200ms. For most sites the difference is irrelevant. For a 10,000-page site it is the deciding factor.

How do I serve a folder of Markdown files as a website without a build step?

Algernon is the strongest option. It is a single Go binary that renders index.md files as HTML automatically and can grab a Let’s Encrypt certificate itself, so you go from folder to public HTTPS site in one command. markserv is the lighter Node.js alternative with WebSocket hot reload, and Docsify renders client-side with no build at all.

What does mdq actually do that grep cannot?

mdq understands Markdown structure. Instead of matching text patterns, you query document elements: give me the section under this heading, find every unchecked task list item, extract all links inside the Sources section. It is jq for Markdown. The main payoff is CI checks on pull request templates without writing unmaintainable regexes.

Should I use presenterm, Marp or Slidev for a technical talk?

presenterm if you want everything in the terminal, offline, with live code execution and no browser involved. Slidev if your deck needs interactive components, animated code walkthroughs and a web deployment. Marp if the deliverable is a PDF or PPTX that someone else has to open. All three are MIT or BSD licensed and free.

Is Moment open source?

No. Moment is proprietary with no self-hosting option. What softens that is where your data lives: documents are real Markdown files on your local disk in a git or jj repository, so nothing is trapped in a vendor database. There is a free tier for one person, with the Team plan at $30 a month for up to five users.

What is the best tool to convert PDFs and Word documents to Markdown for AI?

Start with Microsoft’s MarkItDown. It is fast, light and handles PDFs, Office files, images and audio. When the output quality is not good enough, usually with complex tables, fall back to IBM’s Docling, which uses AI layout detection to preserve table structure and reading order. Docling is slower and pulls in PyTorch. For web pages specifically, use mdream.

Is mdcat still safe to use now that it is archived?

It still works and it is still in most package managers, but the maintainer archived the repository in June 2026, so there will be no fixes or updates. For a personal terminal workflow that is fine. For anything you depend on or ship to others, move to Glow or Frogmouth, both of which are actively maintained.

Let’s Talk!

Looking for a reliable partner to bring your project to the next level? Whether it’s development, design, security, or ongoing support—I’d love to chat and see how I can help.

Get in touch,
and let’s create something amazing together!

RELATED POSTS

Markdown is perfect right up until a second person touches it. On your own, a folder of .md files is the best documentation system ever invented. Add four colleagues and suddenly you’ve got three different heading styles, a README that links to a domain that expired in 2023, and Steve, who writes every sentence in […]

The short version: you do not need to pay for icons. Three permissively licensed sets cover nearly every project I touch — Tabler Icons (6,100+ general icons, MIT), Phosphor Icons (a huge family in six weights, MIT), and Lucide (1,808 minimal stroke icons, ISC). Need something specific that is not in those three? SVG Repo […]

Live streaming today means signing up for Twitch, YouTube Live, or another Big Tech platform. You get an audience, sure, but you also get ads you cannot control, algorithmic recommendations pushing viewers toward competing streams, rules that change overnight, and a chat system that ties your community to someone else’s database. For a hobbyist streamer, […]

Alexander

I am a full-stack developer. My expertise include:

  • Server, Network and Hosting Environments
  • Data Modeling / Import / Export
  • Business Logic
  • API Layer / Action layer / MVC
  • User Interfaces
  • User Experience
  • Understand what the customer and the business needs


I have a deep passion for programming, design, and server architecture—each of these fuels my creativity, and I wouldn’t feel complete without them.

With a broad range of interests, I’m always exploring new technologies and expanding my knowledge wherever needed. The tech world evolves rapidly, and I love staying ahead by embracing the latest innovations.

Beyond technology, I value peace and surround myself with like-minded individuals.

I firmly believe in the principle: Help others, and help will find its way back to you when you need it.