ZenNotes — Keyboard-first Markdown notes
Sponsor
Download
A home
for your thoughts.
ZenNotes keeps every note as a local .md file you<br>own — with real Vim motions, live math & diagrams, an MCP<br>server for your assistant, and a bundled zen CLI.<br>Native on Mac, Windows, and Linux, or self-host in any browser.
Download
Browse all platforms
Free & open source
Mac · Windows · Linux
hjkl
diw
ci"
gg
⎵n
⌃wv
Vim-native<br>If you know Vim,<br>you already know it.
Motions, operators, registers, marks, macros, folds, the ex<br>prompt. All of it works the way your muscle memory expects,<br>because it's real Vim underneath — not a sprinkle of<br>shortcuts dressed up as one.
diw<br>Delete inner word
ci"<br>Change in quotes
yap<br>Yank a paragraph
⌃wv<br>Vertical split
qa … @a<br>Record & replay macro
⎵n<br>New note
Markdown, fully lived-in<br>Write rich notes<br>in plain files.
Math with KaTeX. Diagrams with Mermaid, TikZ, JSXGraph,<br>and function-plot — all of it rendered from<br>ordinary fenced code blocks. The files stay plain text<br>under the hood, so there's nothing to migrate out of<br>later if you change your mind.
Read the docs
notes.md · split
# Gradient descent
Minimise $f(\theta)$ by stepping<br>against its gradient:
```math<br>\theta_{t+1} = \theta_t - \eta\nabla f(\theta_t)<br>```
```mermaid<br>flowchart LR<br>start --> step --> check<br>check --> step<br>check --> done<br>```
Gradient descent
Minimise f(θ) by stepping against its gradient:
θt+1 = θt − η ∇f(θt)
start<br>step<br>check<br>done
MCP<br>Your vault,<br>open to assistants.
There's an MCP server in the box, with one-click setup<br>for Claude Code, Claude Desktop, and Codex. Your<br>assistant edits the same Markdown files you do, straight<br>on disk — no second copy, no sync layer to babysit.
claude · zennotes
> Summarize my notes tagged #graphics
tool zennotes.search_by_tag "graphics"
→ 4 notes found
Across four notes you’re circling one idea:<br>SDFs give cheap implicit geometry, and anti-aliased<br>coverage falls out almost for free…
> ▍
Terminal<br>Drive your vault<br>from the command line.
zen ships with the desktop app. Read and<br>write notes, search, tag, toggle tasks, capture<br>straight from a pipe, run the MCP server. Pass<br>--json on anything and the output drops<br>cleanly into jq or wherever your shell<br>wants to send it. Install from Settings → CLI<br>in one click.
zsh · ~/notes
$ zen capture "Meeting takeaways" --tag work
→ inbox/2026-04-29-meeting-takeaways.md
$ pbpaste | zen append inbox/Daily.md --body -
$ zen search "deadline" --json | jq '.[].path'
"inbox/Q2-Plan.md"
"projects/Launch.md"
$ zen task list --unchecked --tag work
$ ▍
Plain .md files
A vault is just a folder. Sync it with Git, iCloud, Dropbox — or don't. No hidden database, nothing proprietary, nothing to migrate out of.
Split, preview, reference
Split a tab side-by-side, pin a reference, or pop a note into its own floating window.
Math & diagrams
KaTeX inline and in blocks. Mermaid, TikZ, JSXGraph, and function-plot render straight from fenced code.
Tasks, tags, backlinks
Write #tag anywhere. Check - [ ] tasks vault-wide. Follow [[wikilinks]] and chase unresolved ones.
Vault-wide search
Full-text search across every note. Uses ripgrep or fzf if you have them, the built-in engine if you don't.
Daily notes
One keystroke opens today's note. Auto-create ISO-dated dailies in a folder you choose.
Obsidian-friendly vaults
Point ZenNotes at a vault you already have. Loose files show up in the tree, ![[image.png]] embeds resolve, and the layout is read from disk so new notes land where you'd expect.
Slash & @ shortcuts
Type / for headings, callouts, code blocks, tables, and links. Type @ for dates.
Inline note comments
Highlight a passage, drop a comment in the side panel. The marker stays anchored as you edit around it.
Zen mode
One keystroke strips every sidebar, tab, and status bar. Only the editor or preview stays on screen.
Desktop or self-hosted
Native on Mac, Windows, and Linux. Or self-host the web app from the published adibhanna/zennotes Docker image and open it from any browser on your network.
Themes & type
Light and dark theme families. Pick separate fonts for UI, prose, and code — sized for a long writing session.
01<br>Capture
A Quick Note, a daily note, or a fresh inbox buffer — one keystroke from anywhere in the app.
⎵q
02<br>Write
Stay in normal mode and edit with motions. Live preview renders math, diagrams, and plots as you go.
03<br>Navigate
Fuzzy note finder, outline jumps, buffer switching, which-key overlays — every surface keyboard-first.
⎵f
04<br>Organize
Move between inbox, archive, and trash from the ex line. Tasks, tags, and backlinks stay in sync.
:mv
Download
Make it yours.
Free, open source, and yours. Pick your platform to<br>start the download.
macOS<br>Apple Silicon · .dmg<br>Download
macOS<br>Intel · .dmg<br>Download
Windows<br>x64 installer · .exe<br>Download
Linux<br>Debian / Ubuntu · .deb<br>Download
Arch Linux<br>AUR · yay -S zennotes-bin<br>View on AUR
Arch Linux<br>Native package ·...