a local markdown editor for the notes you share with ai.
a cross-platform (macOS Β· Windows Β· Linux) markdown editor specialized for ai context management. live editor, rendered preview, file tabs, csv preview, grouped themes, and a context tray for staging multiple notes into one AI-ready bundle.
built around one loop: collect notes β write β share with ai. nothing leaves your machine until you copy.
works with claude, chatgpt, gemini, local agents, and anything that reads plain markdown.
| area | details |
|---|---|
| writing | live preview, shiki highlighting, mermaid diagrams, task lists, mark/strike syntax, reading mode, editor-only mode, opt-in vim |
| ai context | stage sidebar files, see file/token counts, copy one AI-ready bundle with relative paths |
| files | tabs, folder sidebar, search, drag-to-move, undo file ops, copy paths, reveal in file manager, useful dot-tool folders |
| data + export | capped CSV preview, rendered code copy buttons, mermaid-aware PDF export, stable print margins |
| desktop polish | grouped themes, transparency controls, platform-aware shortcuts, session restore, external file watching, signed updates |
download the latest release β
- apple silicon (M1/M2/M3/M4): grab
marka.md.dmgβ drag marka.md.app into/Applicationsβ open. - intel mac: grab
marka.md_intel.dmgβ same install steps.
grab marka.md_*-setup.exe β run. Windows SmartScreen may ask for confirmation because the Windows build is unsigned.
three flavors, pick what fits your distro:
- AppImage (works anywhere):
chmod +x marka.md_*.AppImageβ run. self-contained, no install step needed. - .deb (Debian / Ubuntu / Mint / Pop!_OS):
sudo dpkg -i marka.md_*_amd64.deb - .rpm (Fedora / RHEL / Rocky / openSUSE):
sudo dnf install marka.md-*.x86_64.rpm
requires bun, rust, and platform build tools. on Linux, install libwebkit2gtk-4.1-dev libsoup-3.0-dev and related Tauri deps.
bun install
bun run tauri dev # native window with hmr
bun run tauri build # produces .dmg / .exe / .AppImage / .deb / .rpm under src-tauri/target/release/bundle/shortcuts shown with macOS modifiers below. on Windows / Linux, substitute β β Ctrl, β₯ β Alt, β§ β Shift.
| key | does |
|---|---|
| βK | command palette |
| βO | open a .md file |
| ββ§O | open a folder of notes |
| βN | new untitled buffer |
| βS | save |
| ββ§S | save as (also handles untitled buffers) |
| βB | toggle sidebar |
| β. | toggle reading mode (preview only) |
| ββ§. | toggle editor-only mode (preview hidden) |
| βF | find / replace in editor Β· or find in reading mode |
| βG | find next match |
| ββ₯Z | undo last sidebar file op (move / rename / new / delete) |
| ββ§C | copy markdown to clipboard |
| command palette β copy context bundle | copy the staged context bundle |
| βP | export to pdf (also visible in the top file-action row) |
| ββF | toggle fullscreen (macOS) Β· F11 on Windows/Linux |
| β/ | help overlay |
| esc | close any popup |
| layer | choice |
|---|---|
| shell | tauri 2.11 (rust + webview), macOS universal (arm64 + x86_64) Β· Windows Β· Linux |
| frontend | react 19 Β· vite 7 Β· typescript 5.9 Β· bun |
| editor | codemirror 6 + @codemirror/lang-markdown + @codemirror/search Β· opt-in vim via @replit/codemirror-vim |
| markdown | markdown-it + markdown-it-mark + markdown-it-task-lists + shiki (lazy themes + langs) + mermaid (lazy) |
| icons | lucide-react |
| styling | css variables, no framework |
Per-release detail lives on the changelog.
- recently shipped: context tray, file tabs, CSV preview, grouped themes, interface languages, PDF/export polish, and file workflow improvements
- next: native/silent PDF generation and optional context bundle presets for stricter agent formats
Thanks to everyone helping shape marka.md through PRs, issues, testing, and feedback.
Small, focused PRs are easiest to review and ship. Good places to help:
- bug fixes from the issue tracker
- platform polish for Windows, Linux, and Intel macOS
- markdown, mermaid, PDF, and translation edge cases
- small UX improvements with screenshots or short screen recordings
Before opening a PR:
- keep one behavior change per PR when possible
- include screenshots for UI changes
- update help/about/readme copy when the user-facing surface changes
- run
bun test,bun run build, andcargo check --releasefromsrc-tauri
local-first. no telemetry, no accounts, no cloud sync. your .md files stay on disk, and clipboard transfers happen only when you copy.
see the full privacy notice for the website analytics caveat (vercel speed insights, cookieless).
ideas, bugs, or just want to say hi?
- structured form (GitHub) β feedback Β· bug report
- prefer email? β enarlem10@gmail.com
- landing page hub β markamd.vercel.app/feedback
- security issues β SECURITY.md
marka.md is free + MIT. if it saves you time, star the repo or share it with another dev.
mit Β· matt enarle (@mattenarle10)