Skip to content
@ZenNotes

ZenNotes

ZenNotes is a keyboard-first markdown notes app. Built by @adibhanna
ZenNotes

ZenNotes

Keyboard-first local Markdown notes with Vim motions, diagrams, databases, workflows, and first-party MCP integration.

Plain files. Fast editing. One shared editor core across desktop, self-hosted web, terminal, and mobile.

zennotes.org · Download Latest Release · Docs · ZenNotes Cloud · Join Discord · Report an Issue


ZenNotes keeps your notes as ordinary local Markdown files and layers on real Vim motions, live-preview editing, math and diagram rendering, databases, drawings, tasks, workflows, search, backlinks, and a bundled MCP server for Claude Code, Claude Desktop, and Codex.

The repositories

ZenNotes is several projects that share one editor core and one folder of Markdown files. Use one piece or all of them. Everything is MIT.

Repository What it is How to get it
zennotes The desktop app (Electron, macOS / Windows / Linux) and the shared editor: the app core, domain logic, and bridge contract every other client consumes, plus the web client and the public share viewer. Its releases carry the installers and the checksummed core, web, and viewer artifacts the other repositories pin. Releases, brew install --cask zennotes/tap/zennotes, yay -S zennotes-bin, Nix flake, zennotes.org
znserver The self-hosted server: one Go binary with the browser app embedded, serving your vault to browsers and to remote desktop connections. Releases on its own cadence. Binaries for Linux, macOS, and Windows with SHA256SUMS; docker pull adibhanna/zennotes (amd64 + arm64)
tui zn, the command-line tool and terminal app in one Go binary: capture, search, and edit from any shell, zn tui for a full terminal editor, zn mcp for AI assistants. The desktop app bundles this exact binary as its own zn. Releases for six targets, brew install zennotes/tap/zn
zennotesios The iPhone app, a native shell around the published editor core, on the same files and the same Cloud sync. Source; builds with Xcode
zennotesandroid The Android app, built the same way. Source; builds with Android Studio or Gradle
homebrew-tap The Homebrew tap: the zennotes cask and the zn formula. brew tap zennotes/tap

The desktop repository publishes the shared editor as immutable, checksummed artifacts, and the other repositories pin those, so each project builds and releases on its own schedule while staying on the same contract.

What Ships Today

  • Plain-file vaults: notes are normal .md files on disk, no hidden database, and an Obsidian-shaped vault works as-is, since the system folders (Inbox, Quick Notes, Archive, Trash) can map to any directories you already have
  • Keyboard-first editing with first-class Vim mode, leader flows, a command palette, and pane/tab motion; every feature ships with a key
  • Live-preview editor (CodeMirror 6): GFM tables as an editable grid, callouts as cards, wiki links, transclusion with ![[Note]], footnotes, and heading folding, with the cursor line always showing its raw source
  • Rendering both ways: KaTeX or Typst for math (Typst definitions can follow a note's tags), Mermaid, TikZ, JSXGraph, and function-plot for diagrams, plus bring-your-own code languages via TextMate grammars
  • Databases: any .csv opens as a Notion-style table or board with typed columns, AND/OR filtering, and rows that open as real notes
  • Excalidraw drawings as first-class items, embeddable inline in notes
  • Tasks everywhere: inline checkboxes, whole-note task files, Kanban with custom statuses, bullet-journal forwarding, and daily, weekly, and monthly notes
  • Workflows: repeatable pipelines over the vault written as plain .md and drawn on a canvas; the engine only plans, every change is counted before you approve, and Undo restores byte for byte (opt-in)
  • Vault-wide search (built-in, ripgrep, or fzf), backlinks for wiki and plain Markdown links, tags, quick capture, and URL embeds with bookmark cards
  • Make it yours: Obsidian-style CSS themes and snippets, no-code quick tweaks, fonts, and rebindable keymaps that travel in config.toml
  • Real exits: Word export built from Word's own Heading styles, copy-for-email HTML, and PDFs that state their title
  • Note creation dates that travel with the vault as app-owned metadata, so they survive syncs, copies, and filesystems that drop birth times
  • The zn CLI and terminal app for scripting, capture, and editing, against a local vault or your self-hosted server
  • First-party MCP server with desktop install flows for Claude Code, Claude Desktop, and Codex; every note result is a clickable zennotes:// link
  • ZenNotes Cloud: sync one vault across desktop and mobile, daily or manual backups with per-note or whole-vault restore, and publishing notes to the web, with keep-both conflict handling
  • Self-hosting with secure-by-default auth, a server-backed vault picker, LAN/home-server access, and an offline-capable browser app

ZenNotes Cloud

Sync, back up, publish. Create a Cloud account to keep one vault current on every device, take daily or manual backups you can restore one note or a whole vault from (or download as a ZIP), and turn any note into a public link with its own theme and logo, unpublished whenever you want.

ZenNotes stays free and open source. Local vaults, iCloud, and self-hosting keep working without a Cloud plan.

Runtimes

  • Desktop: Electron shell with native menus, app updater, floating note windows, signed macOS builds, and Windows / Linux installers
  • Self-hosted: the znserver binary or Docker image, serving the same editor to any browser and to the desktop app as a remote workspace
  • Terminal: zn tui from the tui repository, the same vault in any terminal
  • Mobile: the iPhone and Android apps, built on the published editor core

Get ZenNotes

Pinned Loading

  1. zennotes zennotes Public

    Keyboard-first local Markdown notes with Vim motions, diagrams, and MCP integration.

    TypeScript 2.5k 144

  2. tui tui Public

    Go 76 3

  3. zennotesandroid zennotesandroid Public

    TypeScript 10 1

  4. zennotesios zennotesios Public

    ZenNotes iOS App

    TypeScript 7

  5. znserver znserver Public

    Self-hosted ZenNotes server: Go API with a pinned browser artifact.

    Go 3

Repositories

Showing 8 of 8 repositories
  • zennotes Public

    Keyboard-first local Markdown notes with Vim motions, diagrams, and MCP integration.

    ZenNotes/zennotes's past year of commit activity
    TypeScript 2,478 MIT 144 77 11 Updated Sep 18, 2026
  • homebrew-tap Public

    Homebrew tap for ZenNotes — brew install --cask zennotes/tap/zennotes

    ZenNotes/homebrew-tap's past year of commit activity
    Ruby 1 MIT 0 0 0 Updated Sep 17, 2026
  • ZenNotes/zennotesandroid's past year of commit activity
    TypeScript 10 MIT 1 4 0 Updated Sep 17, 2026
  • tui Public
    ZenNotes/tui's past year of commit activity
    Go 76 MIT 3 1 0 Updated Sep 17, 2026
  • .github Public
    ZenNotes/.github's past year of commit activity
    0 0 0 0 Updated Sep 16, 2026
  • zennotesios Public

    ZenNotes iOS App

    ZenNotes/zennotesios's past year of commit activity
    TypeScript 7 MIT 0 0 0 Updated Sep 16, 2026
  • znserver Public

    Self-hosted ZenNotes server: Go API with a pinned browser artifact.

    ZenNotes/znserver's past year of commit activity
    Go 3 MIT 0 0 0 Updated Sep 17, 2026
  • flathub Public Forked from flathub/flathub

    Issue tracker and new submissions

    ZenNotes/flathub's past year of commit activity
    1 LGPL-2.1 3,989 0 0 Updated Jun 22, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Most used topics

Loading…