# ZenNotes

> Keyboard-first local Markdown notes app with real Vim motions, live math and diagrams, MCP server integration, and a bundled CLI — native on Mac, Windows, and Linux.

ZenNotes is a free, open-source Markdown notes app built around keyboard-first workflows and plain `.md` files you own. Created by Adib Hanna and ZenNotes contributors under the MIT license, it ships as a native Electron desktop app for macOS, Windows, and Linux, and also runs as a self-hosted web app backed by a Go server. The project reached v2.13.1 as of July 2026 and is actively evolving.

## What It Is

ZenNotes is a local-first note-taking tool that stores every note as an ordinary Markdown file in a vault folder you choose — no hidden database, no proprietary format, nothing to migrate out of. It layers Vim-native editing, rich preview rendering, task and tag management, vault-wide search, and an MCP server on top of those plain files. The desktop app and self-hosted web app share a single monorepo core written in TypeScript (React/CodeMirror 6) with a Go backend for the server path.

## Vim-Native Editing

ZenNotes uses real Vim underneath, not a shortcut approximation. Motions, operators, registers, marks, macros, folds, and the ex prompt all work as expected. Leader-key flows, a command palette, and which-key overlays keep every surface reachable without a mouse. The editor is built on CodeMirror 6 with a Markdown-oriented workflow including heading folding, outline extraction, wiki links, callouts, tables, footnotes, and local embeds.

## Rich Markdown Rendering

Notes render math and diagrams directly from fenced code blocks:

- **KaTeX** for inline and block math
- **Mermaid** for flowcharts and sequence diagrams
- **TikZ**, **JSXGraph**, and **function-plot** for interactive and scientific diagrams
- GitHub-flavored Markdown, callouts, footnotes, wiki links, and backlinks in preview and split mode

Files stay plain text on disk, so switching editors later requires no export step.

## MCP Integration and CLI

ZenNotes ships a first-party MCP server with one-click install flows for Claude Code, Claude Desktop, and Codex. The assistant reads and writes the same Markdown files directly on disk — no second copy or sync layer. Supported MCP operations include reading, creating, moving, and appending to notes, listing files, searching vault text, and toggling tasks.

The bundled `zen` CLI (installed from Settings → CLI) exposes the same vault operations from the terminal: capture, search, tag, task management, and MCP server launch. It accepts `--json` output on any command for shell pipeline use, and on macOS it can install a Raycast extension locally.

## Deployment Model

ZenNotes supports three runtime modes from one shared codebase:

- **Desktop** — Electron app with native menus, auto-updater, floating windows, and signed/notarized releases for macOS
- **Self-hosted** — browser frontend plus Go server, deployable via Docker (`adibhanna/zennotes`) on a home server or LAN; secure by default with bootstrap auth token and `HttpOnly` session cookies
- **Hosted** — planned future mode on the same web/server stack with auth and multi-user storage

The vault model supports Obsidian-style flat vaults at the root, `![[image.png]]` embed resolution, and loose file surfacing, making it compatible with existing Obsidian vaults without migration.

## Update: v2.13.1

The latest release is ZenNotes v2.13.1, published July 10, 2026. The GitHub repository was created in April 2026 and has reached nearly 2,000 stars, with the README noting the desktop app as the more mature runtime while the self-hosted web/server path is being brought into parity through the shared monorepo. Recent additions visible in the README include CSV database views (Notion-style Table and Board views over plain `.csv` files), weekly notes, a server-backed vault picker for the web build, and improved Obsidian vault compatibility.

## Features
- Real Vim motions (motions, operators, registers, marks, macros, folds, ex prompt)
- Plain .md files — no hidden database
- KaTeX math rendering (inline and block)
- Mermaid, TikZ, JSXGraph, and function-plot diagram rendering
- Split, preview, and reference pane modes
- Tasks, tags, and backlinks
- Vault-wide full-text search (built-in, ripgrep, or fzf)
- Daily and weekly notes with configurable date patterns
- MCP server with one-click install for Claude Code, Claude Desktop, and Codex
- Bundled `zen` CLI with --json output
- Obsidian-friendly vault support
- CSV database views (Table and Board over plain .csv files)
- Self-hosted web app via Docker
- Floating note windows (desktop)
- Raycast extension install on macOS
- Inline note comments
- Zen mode (distraction-free)
- Slash and @ shortcuts
- Themes, font, and typography customization
- Auto-updating desktop app

## Integrations
Claude Code, Claude Desktop, Codex, Raycast, ripgrep, fzf, iCloud Drive, Dropbox, Git, Docker, Obsidian vaults

## Platforms
WINDOWS, MACOS, LINUX, WEB, API, CLI

## Pricing
Open Source

## Version
v2.13.1

## Links
- Website: https://zennotes.org
- Documentation: https://zennotes.org/docs
- Repository: https://github.com/ZenNotes/zennotes
- EveryDev.ai: https://www.everydev.ai/tools/zennotes
