md.too

A minimalist Markdown viewer for macOS and iOS. Read-only, native, zero third-party dependencies.

md.too rendering EXAMPLE.md, dark theme md.too rendering EXAMPLE.md, light theme

What it does

What it doesn't do

Why

A friend of mine — an AI enthusiast, lives in a ChatGPT tab all day — recently asked me, in good faith, what a Markdown file is. For him, text appears on a screen because a model rendered it; the file underneath is somebody else's problem. Most of us aren't there yet: README.md, AGENTS.md, PLAN.md, EXAMPLE.md, every issue, every PR, every wiki — Markdown is the substrate the work is written on, and at some point in the day you want to read one rather than feed it into a chat box. The viewer market is not short on options; the half-dozen I tried each weighed in at half a gigabyte of Electron, several hundred thousand lines of TypeScript, an In-App Purchase to suppress a "Pro" upsell modal that interrupted every six minutes — and each still failed at a nested list inside a blockquote inside a code fence.

So I took the Markdown renderer I'd already written for an earlier chat-app project and made it a real app. The macOS build exports the rendered page to a paginated PDF on one click; the Quick Look extension renders any .md in Finder's preview pane and on spacebar peek. The iOS build exists because once the parser and view layer were portable, it was three Info.plist keys away.

The most popular JavaScript Markdown library lists about 636 transitive packages and ~39,000 lines of code on its public dependency graph. The md.too app is a few Swift files with no dependencies. Every package you don't pull in is a CVE you don't have to read on a Saturday night.

See it in action

A short loop through EXAMPLE.md (download to open in md.too) on each platform.

Contact

Questions or feedback? Open an issue or start a discussion on GitHub.

GitHub Issues Discussions