Quick notes synced with Joplin Server, with the look of Omarchy. One app for Linux, macOS, iOS and Android, in 8 languages.
The server is never modified: Omanote speaks the same protocol as the official Joplin
clients (sync target version 3), writes the same <id>.md items and uses the same
end-to-end encryption. Joplin and Omanote live side by side on the same account.
Status: preview. Verified end to end on macOS against a real Joplin Server with E2EE, and on Omarchy 4. iOS and Android builds are not set up yet.
Get the latest build from Releases.
- macOS (Apple Silicon and Intel): open the
.dmgand drag Omanote to Applications. The app is not notarized by Apple yet, so the first launch is blocked: open System Settings → Privacy & Security and click Open Anyway. - Linux: the
.AppImageruns on most distributions (chmod +x Omanote*.AppImage; on Arch and Omarchy installfuse2first)..deband.rpmpackages are there too. - Or build it from source (see Development).
Quick notes
- Three columns on wide windows — folders, notes, the note — two on an iPad in
portrait, and a Folders → Notes → Note stack on a phone or a narrow tile. A focus mode
(
⌘⇧\) leaves only the note. - Folders sidebar with All Notes, the folder tree and Recently Deleted (Joplin's trash: restore, delete permanently, empty); drag notes and folders onto folders, cut / copy / paste, rename inline, sync status at the bottom.
- Note list with search (this folder or all notes), sorting by date or title, date sections (Today, Yesterday, Previous 7 Days…), previews, a context menu and swipe actions on touch.
- A note left empty deletes itself. Settings let you choose whether the app opens on the last note or a new one, and whether the toolbar stays visible or hides until the pointer nears the top edge.
- Keywords on the first line (also translated):
list/list: Title: every line becomes a checkbox;/xat the end of a line ticks it;math: results show even without=;sum,avg: sum or average of all the numbers in the note;count: items, lines, words, characters;code: no formatting.
- Checkboxes
[]or- [ ], bulleted and numbered lists that continue on Enter,//to comment out a line. - Real Markdown with live preview: headings
#…######, bold and italic (also across lines),~~strikethrough~~,`code`, quotes, links, and++underline++as in Joplin. HTML from Joplin's rich-text editor renders too: coloured text (<span style="color:…">),<img>images, . Markup hides and comes back on the cursor line for editing. - Calculations: end a line with
=and the result appears right after it:2+3*4=,100 € + vat =,20% of 50 =,sqrt(16) =. Without=the line stays text. Variables (vat = 22%) are stored silently; a name may start with a digit and may hold several words (5axis = 1100,prezzo unitario = 20), and1.234,56/1,234.56are read in either convention.3x4multiplies like3 x 4.total =/avg =add up the block above. In notes starting withmathevery result shows. Click a result to copy it. - Currency conversion:
100 € in $ =,100 € to USD =. The rates are the ECB reference ones (fetched once a day, cached next to the database, still working offline) and a line in the note overrides them for that note only:1 € = 1.05 $,1 ₿ = 60000 €. Adding two different currencies (10 € + 5 $) shows no result instead of a wrong one. - Timers on any line, then Enter:
timer(stopwatch),timer 5/timer 3:30(countdown),timer 9am/timer 21:15(until a time),timer 5: Pasta(named),timer 25 5/timer pomo(pomodoro),timer p/r/s(pause, restart, stop). Timers keep running with the window hidden, notify when done and show in the macOS menu bar. - Images: dropping or pasting an image asks whether to insert it as an image (
I) or as OCR text (T). Images become Joplin attachments (E2EE-encrypted) and show in Joplin clients; images attached in Joplin show in Omanote. - Handwriting and sketches: the pencil button (
⌘⇧D) opens a canvas for an Apple Pencil, a graphics tablet, a mouse or a finger: ballpoint pen, pencil and highlighter, a pixel or stroke eraser, theme colours or any colour you pick (the last ones are kept), undo and redo, with smoothed, pressure-sensitive strokes. On iPad it is a native PencilKit canvas with the fountain pen (barrel roll) and the Apple Pencil's double tap and squeeze. Insert the drawing as an image (a Joplin attachment), or as text read by OCR. Tap a drawing in a note to reopen and edit it: its strokes are saved inside the image. When a pen is in use, a resting palm does not draw. - OCR: "Text" puts the image's content into the note.
⌘⇧Ocaptures a screen region. Everything runs on the device: Apple Vision on macOS/iOS, tesseract on Linux (already part of Omarchy, honoursOMARCHY_OCR_LANGS).
Joplin
- Working notebook: Omanote shows one Joplin notebook (its sub-notebooks become the folders), or all of Joplin. Pick it and change it any time in Settings, so the rest of your Joplin stays untouched.
- Full E2EE: reads
KeyV1,StringV1,FileV1and the legacySJCL1a,SJCL1b,SJCL3,SJCL4; writesStringV1like Joplin. Only the old OCB2 method (before 2020) is not supported: Joplin desktop offers to upgrade those keys. - Conflicts are handled like Joplin: the remote version wins and the local one is kept as a conflict copy.
- Deleting a note moves it to Joplin's trash.
- Repair tools in Settings: "Resync everything" and "Re-upload local data" (like Joplin desktop's, for a server that lost data).
Omarchy
-
Follows the system theme (
~/.local/state/omarchy/current/theme) and switches live with the theme menu; elsewhere it ships the 22 Omarchy themes. JetBrains Mono font, Nerd Font icons. -
Keyboard shortcuts use
Ctrlinstead of⌘: no clash with Omarchy, which usesSuper. -
Global shortcut on Hyprland, in
~/.config/hypr/bindings.conf:bindd = SUPER ALT, N, Omanote, exec, omanote --toggle(
omanote --newopens a new note,omanote --capturestarts screen OCR,omanote --open <id>opens a note.) -
Omarchy bar plugin (
omarchy-plugin/): a pencil in the bar; click for a panel that works like the app on a phone (folders → notes → note, editable, saved as you type, with calculations, images and a simple drawing canvas), right-click to show or hide the app, middle-click for a new note. Install it withomarchy-plugin/install.sh. -
On macOS the global shortcut is
⌥A.
AI friendly
- The command line works on the same notes as the app:
list,show,search,new,append,edit,move,trash,resource,sketch,sync, with--jsonfor scripts. It is bothomanote-cliand the app itself (omanote <command>): on macOS Omanote.app is enough,/Applications/Omanote.app/Contents/MacOS/omanote list. mcpstarts an MCP server (an open standard, not tied to one agent). Settings → AI has a ready-to-copy setup for Claude Code, Codex, Gemini CLI, VS Code, Cursor, Claude Desktop, Hermes, Zed and other MCP clients, with the right path.- The app refreshes by itself when an agent changes notes.
AGENTS.mddescribes the architecture and rules for anyone developing with AI.
⌘N |
new note |
⌘D |
delete note (it goes to Recently Deleted) |
⌘F / ⌘K |
search the list / quick open (Enter with no results creates a note) |
↑ ↓ |
previous / next note in the list |
⌘⇧K / ⌘⇧M |
tick line / checkbox → bullet → number |
⌘B ⌘I ⌘U ⌘⇧X |
bold, italic, underline (++), strikethrough |
⌘⇧H / ⌘/ |
heading level / comment |
⌥↑ ⌥↓ |
move line |
⌘P / ⌘W |
keep on top / hide window |
⌘+ ⌘− |
text size |
⌘\ / ⌘⇧\ / ⌘E |
show or hide folders / focus mode / move note |
⌘⇧O / ⌘S / ⌘, |
screen OCR / sync / settings |
Esc |
stop the timer |
On Linux and Windows use Ctrl instead of ⌘.
| Part | Technology |
|---|---|
Core (crates/omanote-core) |
Rust: Joplin item format, E2EE, server client, SQLite, sync |
CLI + MCP (crates/omanote-cli) |
Rust, same database as the app |
App (app/src-tauri) |
Tauri 2: system webview, binaries of a few MB |
UI (app/src) |
Svelte 5 + CodeMirror 6 |
npm install --prefix app
npm run --prefix app tauri dev # desktop app
npm run --prefix app dev # UI only, in a browser, with mock data
cargo test # Rust tests
npm run --prefix app test # calculator and note-mode tests
cargo install --path crates/omanote-cliThe E2EE tests use vectors generated with Joplin's own JavaScript crypto code.
Tags, signed iOS and Android builds, OCR on Android, scheduled timer notifications on mobile.
MIT. Third-party material and its licenses: THIRD_PARTY_NOTICES.md.