A lightweight markdown editor for macOS. Visual sibling to stickies - same frosted-dark palette, same Geist, same hover-reveal chrome - pointed at files on disk instead of floating notes.
- Pick a folder once. Every
.mdin it shows up in the sidebar, newest first. - Two modes: raw markdown to write in, rendered to read.
⌘Eflips. - Autosaves 800ms after you stop typing.
- Rename from the sidebar's right-click menu, or by double-clicking the filename in the top bar.
- Files are plain
.mdon disk. Obsidian, Finder, git, and anything else read the same folder. Nothing is locked in.
| Shortcut | Action |
|---|---|
⌘K |
Search all files |
⌘F or ⌃F |
Find in the open file |
⌘E |
Toggle Edit / Preview |
⌘S |
Save now |
⌘N |
New file |
⌘O |
Choose folder |
⌘⌥← ⌘⌥→ |
Previous / next file |
The + at the bottom of the sidebar makes a new file, same as ⌘N.
The magnifier next to it, or ⌘K, opens a search across
every file in the folder. It matches keywords in names and bodies, and
fuzzily - mtg finds meeting-notes, a typo still lands. Arrow keys move,
Return opens, Escape closes. With nothing typed it lists files newest first.
⌘F (or ⌃F) finds inside the open file, using the standard macOS find bar:
exact keyword only, matches highlighted as you type, Return for the next one.
From Preview it switches to Edit first, since that is where the text is.
New files are Untitled.md, then Untitled (1).md, and so on. On its first
save, a file whose body opens with a # heading renames itself from that
heading. After that the name is fixed - rename it yourself and it stays.
Headings, bold, italic, inline code, links, images, bullet and ordered lists, block quotes, fenced code blocks, horizontal rules.
A lone newline inside a paragraph is a soft wrap and joins, so hard-wrapped files read as flowing prose. For a deliberate break, end the line with two spaces or a backslash.
An image on its own line -  - renders in Preview, fit
to the column. Paste or drop an image in Edit mode and the app writes it as
a PNG into an assets/ folder next to your notes and inserts that line for
you. The .md stays plain text; the picture is a file beside it, at a
relative path Obsidian and GitHub both resolve.
Tables, footnotes, and HTML passthrough are not supported and render as plain text rather than breaking.
Only http, https, and mailto links are clickable. A markdown file can
come from anywhere, and handing an arbitrary URL scheme to the system on a
single click is not a thing this app will do.
Targets macOS 13 and later. Built and tested on macOS 15.7 with Xcode 26.3; earlier versions in that range are the deployment target, not something I have run it on.
The app is not sandboxed, so it can read and write whatever folder you point it at. It has no network code of any kind - nothing is sent anywhere.
Requires Xcode and xcodegen.
brew install xcodegen
xcodegen generate
open MD.xcodeproj
Then ⌘R in Xcode. ⌘U runs the tests.
docs/specs/2026-08-08-md-design.md- design spec
MIT - see LICENSE.
Bundles Geist and Geist Mono by Vercel
under the SIL Open Font License 1.1 - see
MD/Fonts/Geist-OFL.txt.