The free, open-source Typora alternative. A lightning-fast WYSIWYG Markdown editor for macOS & Windows — write in peace, navigate with ease, never lose your work. Also opens JSON, YAML, XML, and JSONL with syntax highlighting.
免费开源的 Typora 替代品。 一款轻快专注的 WYSIWYG Markdown 编辑器,macOS & Windows 双平台。所见即所得 + 大纲导航 + 永不丢稿。还能直接查看 JSON/YAML/XML/JSONL。
English · 简体中文 · 🌐 Documentation
📸 Screenshots coming soon — we're preparing high-quality UI screenshots. In the meantime, check out the feature list below or try it yourself.
- WYSIWYG editing — type Markdown, see it rendered instantly (Vditor IR mode, just like Typora)
- Focus mode (⌘⇧F) — dims everything except the current paragraph, zero distractions
- Typewriter mode (⌘⇧T) — keeps the cursor vertically centered for long writing sessions
- Rich content — headings, bold/italic/strikethrough/highlight, lists, blockquotes, tables, code with line numbers, KaTeX math, task lists, footnotes, auto-generated
[toc]
- Outline tree (⌘) — multi-level collapsible sidebar with persistent fold state; click any heading to jump with visual feedback (toast + flash highlight)
- File manager panel — three zones in one sidebar: ⭐ Favorites · 🕐 Recent (up to 10) · 📂 Current Folder; collapsible sections with keyword search
- Quick Open (⌘P) — fuzzy-search across favorites & recent files; keyboard-navigable results
- Favorites (⌘D) — star frequently-used files for instant access; one-click toggle
- Document search (⌘F) — find in document with real-time highlighting, prev/next navigation, match counter
- Auto-save — saves to disk 1.5 s after you stop typing; status bar shows timestamp
- Version history — each auto-save creates a snapshot (up to 10 per file); browse, preview, restore, or copy any version
- Draft recovery — unsaved documents are backed up as drafts; next launch shows a recovery banner
- Close confirmation — native macOS dialog when closing with unsaved changes (Save / Don't Save / Cancel)
- Appearance mode — Light · Dark · Follow System (⌘/ cycles); syncs with macOS in real time
- 5 style presets — Default · GitHub · Night · Sepia (warm paper) · Slate (⌘⇧/ cycles); each auto-adjusts the light/dark base
- Three-column layout — Outline ↔ Editor ↔ Source; drag any divider to resize
- Source panel (⌘E) — side-by-side rendered view + raw Markdown with bidirectional sync; edit either side
- Image drag & paste — drop or paste images into the editor; they auto-save to an
assets/folder beside your document - Reveal images folder — File → Show Images Folder in Finder
- Extended Markdown —
==highlight==·[^1]footnotes ·[toc]directory · CJK auto-spacing · term auto-correction - Code line numbers — syntax-highlighted code blocks show line numbers on the left
- JSON / XML / YAML / JSONL — open these files directly in MarkMate as a lightweight viewer/editor
- Syntax highlighting — Prism.js-powered highlighting with dual light/dark theme color schemes
- One-click format — ⌥⌘L to beautify JSON/JSONL/XML; dedicated toolbar button with disabled gray-out hints
- File type icons — sidebar shows distinct emoji badges per format (📝 .md · 📊 .json · 📋 .xml · ⚙️ .yml/.yaml)
- Outline auto-clears — when viewing code/config files, the outline panel shows a context-aware message
- No overhead — code files stay as plain
.json/.xml/.yamlon disk; no extra markers or metadata
- PDF (⌘⇧P) — page-break friendly, zero extra dependencies (uses Electron's built-in
printToPDF) - HTML — single-file with full styling, perfect for email or upload
- Word (.docx) — opens natively in Word/Pages/WPS
- Long image (PNG) — 2x DPI snapshot, ideal for social sharing
- All formats preserve fonts, code blocks, tables, blockquotes and responsive images
- Drag & drop to open — drag
.mdfiles onto the window, Dock icon, or even onto a closed app - File association — registered handler for
.md.markdown.mdown.mkd.mdtext.txt.xml.json.jsonl.yml.yaml; set MarkMate as your default editor in Finder - Native feel — inset traffic lights, document-dirty dot, recent files menu, word count in status bar
- Privacy-aware — won't trigger macOS "access Desktop/Downloads" permission dialogs on first use
| MarkMate | Typora | VS Code | |
|---|---|---|---|
| Price | ✅ Free & Open Source | ❌ $14.99 | ✅ Free |
| WYSIWYG Editing | ✅ Instant render | ✅ Instant render | ❌ Split preview |
| macOS + Windows | ✅ Both | ✅ Both | ✅ Both |
| Built-in File Manager | ✅ Favorites / Recent / Folder | ❌ None | ✅ Explorer |
| Version Snapshots | ✅ 10 per file | ❌ None | ✅ (via Git) |
| JSON / YAML / XML Viewer | ✅ Syntax highlight + format | ❌ None | ✅ |
| PDF / HTML / Word Export | ✅ One-click | ✅ | ❌ Plugins needed |
| Startup Speed | ✅ Fast | ✅ Fast | ❌ Slower |
| Privacy (local-first) | ✅ No uploads | ✅ | ✅ |
| Open Source | ✅ MIT | ❌ Proprietary | ✅ MIT |
Download the latest release from the Releases page:
macOS:
- Apple Silicon (M1/M2/M3/M4…):
MarkMate-1.6.1-arm64.dmg - Intel:
MarkMate-1.6.1-x64.dmg
Windows:
MarkMate-1.6.1-x64-setup.exe— NSIS installer (recommended)MarkMate-1.6.1-x64-portable.exe— standalone, no install needed
The app is not code-signed / notarized on either platform.
macOS: right-click app → Open, or run
xattr -cr /Applications/MarkMate.appWindows: click More info → Run anyway when SmartScreen prompts
macOS: right-click any .md file in Finder → Open With → choose MarkMate. To make it permanent, select Always Open With or set it in Get Info.
Windows: right-click any .md file → Open with → choose MarkMate → Always use this app.
MarkMate also natively opens .txt files.
| Action | macOS | Windows |
|---|---|---|
| New | ⌘N | Ctrl+N |
| Open | ⌘O | Ctrl+O |
| Quick Open | ⌘P | Ctrl+P |
| Save | ⌘S | Ctrl+S |
| Save As | ⌘⇧S | Ctrl+⇧S |
| Toggle Favorite | ⌘D | Ctrl+D |
| Find in Document | ⌘F | Ctrl+F |
| Toggle Outline | ⌘\ | Ctrl+\ |
| Toggle Source Panel | ⌘E | Ctrl+E |
| Focus Mode | ⌘⇧F | Ctrl+⇧F |
| Typewriter Mode | ⌘⇧T | Ctrl+⇧T |
| Export PDF | ⌘⇧P | Ctrl+⇧P |
| Cycle Appearance | ⌘/ | Ctrl+/ |
| Cycle Style Theme | ⌘⇧/ | Ctrl+⇧/ |
git clone https://github.com/SirKayZh/markmate.git
cd markmate
npm install
npm start # launch dev
MARKMATE_DEBUG=1 npm start # with DevToolsnpm run dmg # build macOS DMG → release/
npm run win # build Windows (NSIS + portable) → release/
npm run release:patch # bump patch + build + commit + tag
npm run release:minor # bump minor + build + commit + tag
npm run release:major # bump major + build + commit + tagmacOS note: on Apple Silicon,
electron-builder's internalhdiutilDMG step may fail due to macOS sandbox restrictions on auto-mounting volumes. The project's build script useshdiutil makehybrid+convertas a workaround. Windows builds work cross-platform from macOS (electron-builder auto-downloads Wine + NSIS).
- Electron 31 — cross-platform desktop shell (macOS + Windows)
- Vditor 3 — Markdown IR (instant rendering) engine
- Main process
main.js(menu / file IO / auto-save / version snapshots) +preload.js(secure contextBridge IPC) +src/(UI)
MarkMate is a local-first editor — your documents never leave your computer.
- No document content is ever uploaded to any server.
- No telemetry, no analytics, no tracking in the current version.
- Future versions may offer opt-in anonymous usage stats (file type distribution, export counts, crash reports) with a clear consent dialog — you can decline or disable it at any time.
- Full privacy policy: sirkyzh.github.io/markmate/privacy
Your feedback shapes MarkMate's future:
- 🐛 Report a bug / Request a feature (GitHub Issues)
- 📝 Fill out the feedback survey (8 questions, 2 min)
- 💡 Join the discussion (GitHub Discussions)
- 🌐 Visit documentation site
Issues and PRs are welcome! Ideas for the roadmap:
- Multiple tabs / windows (v1.6.0)
- Custom CSS themes
- PDF / HTML / Word / Long image export (v1.4.0)
- Windows support (v1.4.1)
- Code / config file viewer with syntax highlighting (v1.5.0)
- Vim key bindings
MIT © 2026 MarkMate Contributors