A lightweight, native macOS Markdown previewer. Double-click any .md file and get a beautifully rendered preview instantly.
- GFM Support — Full GitHub Flavored Markdown (tables, task lists, strikethrough, autolinks)
- Syntax Highlighting — 190+ languages via highlight.js with light/dark themes
- Mermaid Diagrams — Flowcharts, sequence diagrams, Gantt charts, and more
- LaTeX Math — Inline and display math via KaTeX (
$...$and$$...$$) - Dark Mode — Auto-adapts to system appearance, with manual toggle (Cmd+Shift+D)
- Live Reload — Automatically refreshes when the source file changes
- PDF Export — Export rendered Markdown to PDF (Cmd+Shift+E)
- Table of Contents — Sidebar TOC navigation (Cmd+Shift+T)
- Find in Document — Full-text search with highlighting (Cmd+F)
- Local Images — Relative image paths resolved correctly
- Code Copy — One-click copy button on code blocks
- Zero Dependencies — No Electron, no Node.js runtime needed
- macOS 12.0 (Monterey) or later
- Xcode Command Line Tools (
xcode-select --install) - Internet connection (first build only, to download JS libraries)
cd QuickMD
chmod +x build.sh
./build.shThe app will be built to dist/QuickMD.app.
cp -r dist/QuickMD.app /Applications/- Right-click any
.mdfile in Finder - Select "Get Info"
- Under "Open With", select "QuickMD"
- Click "Change All..."
- Open file: Double-click a
.mdfile, or use File → Open (Cmd+O) - Reload: Cmd+R (also auto-reloads on file change)
- Toggle dark mode: Cmd+Shift+D
- Toggle TOC sidebar: Cmd+Shift+T
- Find text: Cmd+F
- Export PDF: Cmd+Shift+E
- Print: Cmd+P
- Reveal source: File → Reveal Source File
| Shortcut | Action |
|---|---|
| Cmd+O | Open file |
| Cmd+R | Reload preview |
| Cmd+Shift+D | Toggle dark/light mode |
| Cmd+Shift+T | Toggle TOC sidebar |
| Cmd+F | Find in document |
| Cmd+G | Find next |
| Cmd+Shift+G | Find previous |
| Cmd+Shift+E | Export as PDF |
| Cmd+P | |
| Cmd+W | Close window |
| Cmd+Q | Quit |
QuickMD.app/
├── Contents/
│ ├── Info.plist
│ ├── MacOS/
│ │ └── QuickMD (native Obj-C binary)
│ └── Resources/
│ ├── QuickMDRenderer.sh (HTML generator)
│ ├── viewer.css (styles)
│ ├── viewer.js (rendering logic)
│ └── vendor/ (JS libraries)
│ ├── marked.umd.js
│ ├── purify.min.js
│ ├── mermaid.min.js
│ ├── katex.min.js
│ ├── katex.min.css
│ ├── katex-auto-render.min.js
│ ├── fonts/
│ └── highlight/
│ ├── highlight.min.js
│ ├── github.min.css
│ └── github-dark.min.css
- Native Objective-C app opens
.mdfiles - Shell script reads the Markdown, base64-encodes it into an HTML template
- WKWebView loads the HTML with bundled JS libraries
- marked.js parses Markdown → HTML
- DOMPurify sanitizes the output
- highlight.js adds syntax highlighting
- Mermaid renders diagrams
- KaTeX renders math formulas
- FSEvents watches for file changes and auto-reloads
MIT