Open a file and start reading — it is that simple
Press ⌘O to select files, or press ⇧⌘N to create a new independent window. Drag-and-drop is also supported.
File tree on the left, content in the center, outline on the right. Press ⇧⌘E / ⇧⌘R to switch between rendered and source without losing scroll position.
Edit directly in source mode, press ⌘S to save. Enable source line numbers in Settings for long-form editing.
Press ⌘P to open the Command Palette, fuzzy search by filename, ↑↓ to select, Enter to open. Faster than browsing.
Work faster with keyboard shortcuts
| Shortcut | Function |
|---|---|
| ⌘N | New File |
| ⇧⌘N | New Window |
| ⌘O | Open Folder / File |
| ⌘S | Save File |
| ⇧⌘S | Save As |
| ⌥⌘E | Export PDF |
| ⌘W | Close Window |
| ⌘, | Open Settings |
| ⌘\ | Toggle Sidebar |
| ⇧⌘E | Rendered Mode |
| ⇧⌘R | Source Mode |
| ⌘+ | Zoom In |
| ⌘- | Zoom Out |
| ⌘0 | Actual Size |
| ⌘F | Find |
| ⌘G | Find Next |
| ⇧⌘G | Find Previous |
| ⌥⌘F | Find & Replace |
| ⌘P | Command Palette |
| ⌘? | Help |
Every feature crafted for a better reading experience
cmark-gfm parses Markdown, WebPage (native macOS 26) renders rich text with full GFM extensions including tables, task lists, strikethrough, and autolinks.
Powered by fractional source anchor pipeline (SourceScrollAnchor), keeping your reading position pinpointed between rendered and source modes without jumping.
Press ⇧⌘R to edit Markdown source directly, with Prism.js highlighting 30+ languages. Optional gutter line numbers in Appearance settings with smooth scrolling.
Press ⇧⌘N to open independent windows. Browse multiple files side-by-side with isolated editing sessions and per-window undo stacks.
Recursively browse folders with symlink support and live change monitoring. Option to auto-open containing directory when opening a single file.
Auto-extract heading hierarchy, smooth scroll unified to top of viewport for effortless long document reading.
Press ⌘F for the search bar. Supports case sensitivity, whole words, and regular expressions. ⌥⌘F opens Find & Replace.
Use ⌘+ / ⌘- to zoom (0.3x–3.0x). Press ⌘0 to restore actual size; zoom levels restore automatically.
Press ⌘P to quickly search and open Markdown files in the directory tree with fuzzy matching and keyboard navigation.
33 themes to customize your reading environment
In Settings → Appearance, choose Light, Dark, or System mode to adapt the application immediately.
33 preset schemes (20 dark + 13 light) — Dracula, Catppuccin, Nord, Tokyo Night… with independent presets per mode.
In Settings → Appearance → Custom Colors, adjust background, text, accent, success, and danger colors individually.
Low and High contrast options to fine-tune visual separation between background and foreground elements.
Flawless rendering for technical documentation
Use `mermaid` language identifier in code blocks. Switch engines in General settings: default Mermaid.js for classic layouts, or Pele for native SVGs that dynamically color-match themes.
Use `$...$` for inline formulas and `$$...$$` for block formulas. Crisp LaTeX typography loaded on demand only when formulas are present.
Use `plantuml` language identifier to auto-render SVG diagrams. Requires network connection.
Seamless terminal workflow
Open Settings → General → Command Line Tool and toggle it on. The `mdr` command is immediately available in your shell.
Run `mdr README.md` in the terminal to open files, supporting multiple files and directories at once.
More thoughtful details waiting for you
Select a .md file in Finder and press Space to preview rendered content. Enable in Settings → General → Quick Look Preview.
Copy the entire document in one click from rendered mode, source mode, or Quick Look. Turn off in Settings; Quick Look supports rich text or raw Markdown.
Press ⌥⌘E or File → Export PDF to save rendered content as PDF, preserving current theme styles.
Having issues? Check here first
Supports `.md`, `.markdown`, `.mdown`, `.mkd` and other Markdown format files.
macOS 26 (Tahoe) or later, natively supporting Apple Silicon.
Run `brew tap davidhoo/markdownreader && brew install --cask markdownreader`. When upgrading, run `brew upgrade --cask --greedy markdownreader`.
MarkdownReader is developer-signed open source software without Apple Developer paid notarization. If Gatekeeper blocks opening, Control-click the app in Applications and select 'Open', or go to 'System Settings > Privacy & Security' and click 'Open Anyway'.
PlantUML rendering requires a network connection to the server. Offline, Mermaid and Pele diagrams render completely locally.
Open Settings → General → Default Markdown App and click 'Set as Default'. Or right-click a .md file → Get Info → Open With → select Markdown Reader → click 'Change All'.
Feel free to submit feedback or pull requests on GitHub Issues.