A tiny, native macOS clone of Raycast Notes: one floating notes window you summon with a global hotkey, with live markdown that looks like rich text.
Written in Swift with AppKit + TextKit — no Electron, no web view. ~600 KB, launches instantly, toggles in a frame.
- Global hotkey (default ⌥⌘N) toggles the window from anywhere; Esc hides it and returns you to the app you were in
- Live markdown — headings, bold, italic,
strikethrough, ==highlight==,inline code, fenced code blocks, links, quotes, rules, nested bullets, numbered lists and clickable checkboxes. Syntax hides itself except on the line you're editing - Code blocks with syntax highlighting for ~20 languages (Swift, TS/JS, Python, Go, Rust, SQL, shell, JSON, YAML, HTML, CSS…), colored by the active theme
- Smart editing — lists continue on Enter, Tab / ⇧Tab nest them,
[]becomes a checkbox, brackets/quotes/**auto-close, move or duplicate lines, paste a URL over selected text to make a link - Collapsible headings — hover a heading and click the chevron (or ⌥⌘F) to fold its section
- Copy as rich text — copies paste formatted into Slack, Mail, Notion and Google Docs, and as markdown into code editors
- Quick switcher (⌘P) with full-text search and pinned notes — pin, duplicate or delete right from the list — plus an actions palette (⌘K)
- Themes — 18 popular editor themes (GitHub, VS Code, One Dark, Dracula, Catppuccin, Tokyo Night, Nord, Gruvbox, Solarized, Rosé Pine…) with live preview, plus auto light/dark pairs
- iCloud sync — one checkbox moves your notes to iCloud Drive; edits from your other Macs show up live
- Plain files — every note is a
.mdfile you own; deleted notes go to the Trash - Fonts — SF Pro by default, plus bundled Inter, Geist, iA Writer Quattro, Atkinson Hyperlegible, Literata and JetBrains Mono (or any installed font); a separate code font (SF Mono, JetBrains Mono, Fira Code, Geist Mono, IBM Plex Mono); adjustable line width and spacing
- Auto-updates from GitHub Releases, or install and update with Homebrew
- Always at hand — floats above other apps and follows you to every desktop and full-screen app (turn off floating with ⇧⌘F)
- Light/dark mode, menu bar icon, open at login, adjustable text size
Requires macOS 14 Sonoma or later (Apple Silicon or Intel).
brew install --cask stefansdev/tap/mini-notes- Download MiniNotes.zip from the latest release.
- Unzip it and drag Mini Notes.app into Applications.
- Open it. Because the app isn't notarized by Apple, macOS will block the first launch — go to System Settings → Privacy & Security, scroll down and click Open Anyway.
Or do it all from Terminal (skips the Gatekeeper prompt):
curl -fsSL https://github.com/stefansdev/mini-notes/releases/latest/download/MiniNotes.zip -o /tmp/MiniNotes.zip \
&& ditto -x -k /tmp/MiniNotes.zip /Applications \
&& xattr -dr com.apple.quarantine "/Applications/Mini Notes.app" \
&& open "/Applications/Mini Notes.app"Needs Xcode 15+ (or the Swift 5.9+ toolchain).
git clone https://github.com/stefansdev/mini-notes.git
cd mini-notes
./build.sh install # builds, copies to /Applications and launchesMini Notes lives in the menu bar (no Dock icon). Press the hotkey to show or hide the window, and start typing. Change the hotkey and other options in Settings (⌘, or the menu bar icon).
| Notes | Formatting | ||
|---|---|---|---|
| Toggle window | ⌥⌘N (global) | Bold / Italic | ⌘B / ⌘I |
| Hide | Esc / ⌘W | Strikethrough | ⇧⌘X |
| New note | ⌘N | Highlight | ⇧⌘H |
| Browse / search notes | ⌘P | Inline code / code block | ⌘E / ⌥⌘C |
| Actions | ⌘K | Link | ⌘L |
| Previous / next note | ⌘[ / ⌘] | Heading 1–3 | ⌥⌘1–3 |
| Duplicate | ⌘D | Numbered / bulleted / checklist | ⇧⌘7 / 8 / 9 |
| Copy as markdown | ⇧⌘C | Toggle checkbox | ⌘↩ or click it |
| Export | ⇧⌘E | Blockquote | ⇧⌘B |
| Delete (to Trash) | ⇧⌘⌫ | Indent / outdent list | Tab / ⇧Tab |
| Change theme | ⌥⌘T | Move line up / down | ⌥⌘↑ / ⌥⌘↓ |
| Pin note | ⇧⌘P | Duplicate line | ⇧⌘D |
| Fold / unfold section | ⌥⌘F | Unfold all | ⇧⌥⌘F |
| Float on top | ⇧⌘F | Text size | ⌘+ / ⌘− / ⌘0 |
| Find | ⌘F | Open link | ⌘-click |
Press ⌥⌘T (or ⌘K → Change Theme…) and arrow through the list — the window previews each theme live; Enter keeps it, Esc reverts. You can also pick one in Settings.
| Themes | |
|---|---|
| Default | System (translucent, follows macOS) |
| Auto light/dark | VS Code, GitHub, One, Catppuccin, Gruvbox, Solarized, Rosé Pine |
| Dark | VS Code Dark Modern, GitHub Dark, One Dark Pro, Dracula, Monokai, Nord, Tokyo Night, Catppuccin Mocha, Gruvbox Dark, Solarized Dark, Rosé Pine |
| Light | VS Code Light Modern, GitHub Light, One Light, Catppuccin Latte, Gruvbox Light, Solarized Light, Rosé Pine Dawn |
"Auto" themes switch between their light and dark variant with macOS. Themes live in Theme.swift as ten colors each — adding one is a single ThemeSpec entry.
In the ⌘P list: ↩ open, ⇧⌘P pin/unpin, ⌘D duplicate, ⌘⌫ delete.
Pick a font in Settings → Font, or press ⌘K → Change Font… to preview them live. Code blocks and inline code use the Code font setting.
| Built in (macOS) | SF Pro, SF Pro Rounded, New York, SF Mono |
| Included | Inter, Geist & Geist Mono, iA Writer Quattro, Atkinson Hyperlegible Next, Literata, JetBrains Mono, Fira Code, IBM Plex Mono |
The included fonts are unmodified and distributed under the SIL Open Font License 1.1; they're only available inside Mini Notes and don't get installed system-wide.
Notes are plain markdown files in ~/Library/Application Support/Mini Notes/Notes.
To sync between Macs, tick Sync notes with iCloud Drive in Settings on each Mac. Notes move to iCloud Drive › Mini Notes (also visible in the Files app on iPhone), and changes from other devices appear live — unsaved edits on the current Mac always win. If the same note is edited on two offline Macs, iCloud keeps both copies and the second shows up as its own note. You can also point the app at any folder with Change….
swift build # debug build
.build/debug/MiniNotes # run itProject layout:
Sources/MiniNotes/
Markdown/MarkdownStyler.swift # live markdown → attributes (incremental)
Markdown/MarkdownLayoutManager.swift # hidden syntax, bullets, checkboxes, code/quote drawing
Editor/NoteTextView.swift # list continuation, shortcuts, formatting commands
UI/ # window, header, ⌘P/⌘K palette, settings
Theme.swift # theme definitions + ThemeManager
NotesStore.swift # .md files, debounced saves, folder watching / iCloud
HotKey.swift # global hotkey (Carbon, no Accessibility permission)
Debug builds include test hooks:
MININOTES_SNAPSHOT=/dev/null MININOTES_ACTION=selftest .build/debug/MiniNotes # editor behaviour tests
MININOTES_SNAPSHOT=/dev/null MININOTES_ACTION=themetest .build/debug/MiniNotes # theme preview/revert tests
MININOTES_SNAPSHOT=/tmp/shot.png MININOTES_APPEARANCE=dark .build/debug/MiniNotes # render window to PNG./build.sh dist produces the universal build/MiniNotes.zip attached to releases. To cut a release (tests, version bump, GitHub release and Homebrew cask bump in stefansdev/homebrew-tap):
scripts/release.sh 1.2.0 release-notes.mdMini Notes checks GitHub Releases once a day (turn it off in Settings, or use Check for Updates… in the menu bar menu). Updates are downloaded over HTTPS, checked (bundle identifier, version and code signature) and installed in place, then the app relaunches.
MIT. Not affiliated with Raycast.




