MiaoYan is a free, open source note taking & knowledge management project written in Swift and released under MIT. It has 8,646 GitHub stars, 511 forks and 3 open issues, and was last pushed 12 days ago. On this registry it ranks #18 of 37 tracked projects in Note Taking & Knowledge Management, with 5 head-to-head comparisons available.

What is MiaoYan?

MiaoYan is a lightweight, local-first Markdown note-taking app for macOS, written in Swift and released under the MIT licence, aimed at people who want fast plain-text notes on their own disk without accounts, telemetry, or a hosted service.

What it is

MiaoYan is a native macOS Markdown editor and notes application built with Swift 6. It presents a three-column layout with a split editor and preview, dark mode, keyboard shortcuts, auto-formatting, version history, wikilink backlinks, LaTeX and Mermaid rendering, and a distraction-free mode. The defining design choice is that it is local-first: it reads and writes the Markdown folder the user selects and does not collect data or sign in to WebDAV or cloud-drive accounts. The Markdown files remain ordinary files in a folder, and the app verifies read and write access before switching storage paths, leaving the current path unchanged if the new folder is unavailable.

The concrete problem it solves is note ownership. Instead of binding notes to a proprietary account or an opaque internal database, MiaoYan makes a plain Markdown folder the source of truth and delegates cross-device sync to whatever cloud-drive client the user already runs, such as iCloud Drive, Nutstore, or Dropbox. It also positions itself against heavier Electron-based editors on performance and against WYSIWYG editors such as Typora on editing model, since the README states that WYSIWYG in native Swift is overly complex and reliability-risky, so the project keeps split mode with clean Markdown editing and real-time preview instead.

Key capabilities

  • Split editor and preview mode with real-time preview and 60fps bidirectional scroll sync, toggled with ⌘\ or set under Preferences → Interface → Edit Mode → Split Mode.
  • Local-first storage model with no WebDAV or cloud-account sign-in: the app reads and writes the Markdown folder chosen in Preferences (⌘,).
  • Command-line interface installed with curl -fsSL https://raw.githubusercontent.com/tw93/MiaoYan/main/scripts/install.sh | bash, exposing miao open, miao new [text], miao search, miao list [folder], miao cat, and miao update.
  • PPT Presentation Mode, which builds presentations using --- slide separators on top of the reveal.js framework.
  • MiaoYan Agent Skill, installable with npx skills add tw93/MiaoYan/skills/miaoyan -g, which teaches an agent MiaoYan syntax, attachments, PPT patterns, and CLI workflows.
  • Markdown authoring features including wikilink backlinks, LaTeX, Mermaid, syntax highlighting, auto-formatting, and version history.
  • Minimalist interface with three-column layout, dark mode, and macOS 26 glass styling.

Who uses it and how

  • Individual macOS users running macOS 11.5 or newer who keep a MiaoYan folder in iCloud Drive or another synced location and point the app's storage path at it in Preferences.
  • Nutstore or Dropbox users who create a MiaoYan folder inside the locally synced folder, letting the desktop client handle cross-device sync while MiaoYan handles editing.
  • iPhone users who select the same cloud-drive folder from the system Files app, or fall back to iCloud Drive when a provider does not expose a writable folder in Files.
  • Terminal-centric users and automation setups that script note capture, search, and listing through the miao CLI rather than the GUI.
  • People producing slide decks from Markdown notes via PPT Presentation Mode, and agent workflows that install the skills/miaoyan skill for syntax and CLI knowledge.

Getting started

Install from the Mac App Store (paid, automatic updates), with Homebrew via brew install --cask miaoyan, or by downloading the latest DMG from GitHub Releases for macOS 11.5 and newer; all three options share the same codebase and receive the same updates. After installing, create a MiaoYan folder in iCloud Drive, a desktop cloud-drive folder, or another location, then open Preferences (⌘,) and set the storage path.

How it compares

Among the tools named in its own documentation, MiaoYan differs from Typora by rejecting WYSIWYG in favour of split editor and preview, and it credits FSNotes as the reference for its initial project structure. Its distribution model also splits against itself: the Homebrew cask and the GitHub Releases DMG are free under the MIT licence, while the Mac App Store build is paid, with the README stating that all three share the same codebase and receive the same updates. Sync is deliberately not a product feature, so MiaoYan sits alongside cloud-drive clients rather than replacing them.

When to use it — and when not to

A self-hoster operates no server, database, or SMTP stack here: the requirements are a Mac running macOS 11.5 or newer, a writable folder, and a third-party cloud-drive client if notes must reach other devices. It is a poor fit for anyone not on macOS, for anyone who wants built-in sync and account management rather than folder-level sync, and for anyone who prefers WYSIWYG editing, since the project explicitly declines that model. Note also that the README is a feature and installation overview rather than a deep operations manual, and that providers without a writable folder in the system Files app force an iCloud Drive fallback or an offline-folder workaround.

project readme (upstream, from github) — read inline

English | 简体中文

MiaoYan

Twitter Follow Telegram GitHub Downloads GitHub Commit Activity GitHub Closed Issues macOS 11.5+

Lightweight Markdown note-taking app for macOS

Features

  • Fantastic: Local-first, no data collection, split editor & preview, wikilink backlinks, LaTeX, Mermaid
  • Beautiful: Minimalist design, three-column layout, dark mode, macOS 26 glass, distraction-free
  • Fast: Swift 6 native, better performance than Electron-based apps
  • Simple: Lightweight, version history, keyboard shortcuts, auto-formatting

Installation

  1. Mac App Store (paid, automatic updates):

Download on the Mac App Store

  1. Homebrew:

    brew install --cask miaoyan
    
  2. GitHub Releases: download the latest DMG from GitHub Releases (macOS 11.5+)

All three options share the same codebase and receive the same updates. After installing, create a MiaoYan folder in iCloud Drive, a desktop cloud-drive folder, or your preferred location, open Preferences (⌘,), and set the storage path.

Sync with Nutstore or Other Cloud Drives

MiaoYan is local-first and does not sign in to WebDAV or cloud-drive accounts. It reads and writes the Markdown folder you choose. iCloud Drive, Nutstore, Dropbox, or another cloud-drive client handles cross-device sync.

  • Mac: Create a MiaoYan folder inside the local folder synced by the Nutstore desktop client, then point MiaoYan's storage location to it in Preferences.
  • iPhone: Pick the same cloud-drive folder from the system Files app. If a provider does not expose a writable folder in Files, use iCloud Drive or make the folder available offline in that provider app before choosing it.
  • Folder check: MiaoYan verifies read and write access before switching folders. If the folder is unavailable, the current storage path stays unchanged.

CLI

MiaoYan provides a command-line interface for quick note operations.

# Install
curl -fsSL https://raw.githubusercontent.com/tw93/MiaoYan/main/scripts/install.sh | bash

# Usage
miao open <title|path>    # Open note or folder
miao new <title> [text]   # Create new note
miao search <query>       # Search notes in terminal
miao list [folder]        # List top-level folders, or markdown in folder
miao cat <title|path>     # Print note content
miao update               # Update CLI

Split Editor & Preview Mode

Edit and preview side by side with real-time preview and 60fps bidirectional scroll sync.

Quick Toggle: Press ⌘\ to instantly toggle split view mode, or enable it in Preferences → Interface → Edit Mode → Split Mode.

Why not WYSIWYG like Typora? We prioritize pure Markdown editing experience, and implementing WYSIWYG in native Swift is overly complex with reliability concerns. Split mode maintains clean editing while providing instant visual feedback.

Split Editor & Preview Mode

Documentation

Install the official skill with npx skills add tw93/MiaoYan/skills/miaoyan -g.

Support

  • The most direct way to support me is getting Mole for Mac, my paid Mac cleanup app.
  • If MiaoYan helped you, give it a star, share it, or open an issue or PR.
  • I have two cats, TangYuan and Coke. If you think MiaoYan delights your life, you can feed them canned food 🥩.
These lovely people already did 🐱

Acknowledgments

License

MIT License - Feel free to use and contribute.

Frequently asked questions

Is MiaoYan free to use?

MiaoYan is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does MiaoYan do?

⛷ Lightweight Markdown app to help you write great sentences.

What is MiaoYan written in?

MiaoYan is primarily written in Swift. Its source is publicly available at https://github.com/tw93/MiaoYan, and it has 8,646 GitHub stars.