The floating Markdown notepad for Mac.
An open source alternative to Raycast Notes.
Press ⌥N in any app to write, and again to put it away. Notes are plain Markdown files in a folder you choose, so any other editor can open them too.
Download for macOS · Installation
- Floating window. ⌥N shows or hides it over the current app. It stays on top, grows with the note, and can appear on every Space or on the screen with the pointer. A second hotkey for a new note can be set in Settings.
- Live Markdown. Formatting is shown as you type, in the style of Typora; inline marks such as
**appear around the caret only. - Tables, links and more. Tables edited cell by cell, task lists,
[[wiki links]]with completion, callouts, footnotes, images and highlighted code blocks. - Math. LaTeX formulas,
$…$inline and$$…$$as blocks, rendered offline through RaTeX, with optional equation numbers and references. - Plain files. Each note is a
.mdfile. A save rewrites only the lines you edited and leaves the rest of the file unchanged. - Keyboard. ⌘K lists every action with its shortcut, / inserts a block, and vim mode can be turned on in Settings.
- Native. Written in Rust and drawn with GPUI, without a web view.
Download Markraft.dmg from the latest release, open it, and drag Markraft to Applications. Markraft is signed and notarized, and updates itself through Sparkle. It needs macOS 13 or later.
Markraft runs from the menu bar and has no Dock icon.
| Shortcut | Action |
|---|---|
| ⌥N | Show or hide the window |
| Esc | Hide the window (:q in vim mode) |
| ⌘N | New note |
| ⌘P | Find a note |
| ⌘K | All actions |
| ⌘O | Open a Markdown file |
| ⌘, | Settings |
Turn on Vim mode in Settings → Editor. The editor starts in Normal mode and shows the current mode.
Normal, Insert, Visual and Visual Line modes work with the usual motions, operators, counts and text objects, / search, and common commands such as :w, :q and :wq. dd and yy take a whole Markdown block, so a list item keeps its nesting when pasted. In Normal mode Esc does not hide the window; use :q.
f and t, . repeat, registers, ? and regular expressions are not supported.
Notes are Markdown files in ~/Documents/Markraft by default. You can choose another folder, including one you already keep notes in, and open any other .md file on your Mac.
- Changes made by other apps show up in the open note. If another app changes a file at the same moment you edit it, your version is kept as a separate conflicted copy.
- Deleting a note moves its file to the Trash.
- To sync notes between Macs, put the folder in iCloud Drive or another sync tool. Settings and window state stay on each Mac in
~/Library/Application Support/Markraft.
Markraft has no account and sends no telemetry. It connects to the network only to check for updates and to load images that notes link to on the web; both can be turned off in Settings.
Bug reports and feature requests are welcome as issues. Pull requests are open to collaborators only, so to propose a change, please open an issue and describe it there.
Report an Issue… in ⌘K opens an issue with your Mac and Markraft versions filled in. Logs and crash reports are written to ~/Library/Logs/Markraft and stay on your Mac; attach the report if there is one.
To build from source:
bash scripts/download-sparkle.sh # fetch the Sparkle framework into target/sparkle
cargo run -p markraft-app # run the app
cargo test --workspace # run the tests
cargo xtask bundle # build target/debug/bundle/osx/Markraft.appSee the architecture notes for how the workspace is divided, and the localization guide for adding a language. To contribute a translation, attach the message files to an issue.
Markraft borrows ideas from Raycast Notes, Typora and Obsidian. It is built on GPUI, with comrak for parsing Markdown, syntect for highlighting code and Sparkle for updates.



