Local-first · Keyboard-first · No account
The whole app is one field.
Type to search as you go. If nothing matches, the same keystroke makes a new note. Instant full-text search, Markdown, and attachments — offline, right in your browser.
Live demo · runs in your browser · in-memory, nothing is saved. Open the real app →
Spec sheet
What’s in the box
One Rust core does the work. Each capability behaves identically on desktop, the qn CLI, and this web app — the only difference is where it runs.
Instant search
SQLite FTS5 with BM25 ranking returns matches in sub-milliseconds as you type — titles, bodies, and tags — with the hit highlighted right in the list.
One field, no modes
Search and create from the same box. No “new note” button, no title field — the first line of the body is the title.
Markdown, rendered
Write plain Markdown, read it formatted. A Preview toggle flips raw text and rendered view. Lists, tables, code, links — and raw HTML is never stored or run.
Attachments & preview
Drag in a file or paste a screenshot. Attachments live inline as links; a side pane previews images, PDFs, audio, video, and text. Content-addressed and deduplicated.
Own your data
Export the whole vault as a folder of Markdown files — attachments included, YAML frontmatter intact — whenever you want. No lock-in, no proprietary format.
Optional sync
Connect a server to back up and sync every device. Last-write-wins, conflicts archived, over HTTPS. Or stay fully local and anonymous — your call.
Capture & transcribe
Paste a link and the server pulls readable article text, auto-tags it, and transcribes YouTube & Instagram videos into searchable notes. Save any page from the Chrome extension.
Related by meaning
When exact matches run thin, semantic search surfaces related notes by meaning, using server-side pgvector embeddings — shown in their own section.
The loop
Type, and one of two things happens
The entire app is a single loop. There is no mode to switch, nothing to set up.
-
1
Find it — or create it
Start typing; the list filters live. Nothing matches? A Create row appears.
↵ open the match · Ctrl+↵ create from the query
-
2
Edit inline — it autosaves
The note opens right there, editable. It saves when you pause typing; the first line becomes the title.
Ctrl+S save now · or just keep typing
-
3
Sync — or stay local
Stay anonymous and offline, or connect a server to sync to your phone, desktop, and the
qnCLI.Optional. Reversible. Your notes, your call.
- ↑↓ navigate the list
- ↵ open the selection
- Ctrl+↵ create from the query
- Ctrl+K jump back to search
- Ctrl+S save the open note
- Esc back to the list
On macOS, use ⌘ in place of Ctrl.
One Rust core, compiled everywhere. Same search, same storage, same loop.
- desktopTauri, native webview
- clipipe-friendly
qn - webinstallable PWA, offline
- serverGo sync + capture
- browserChrome extension
- mobileiOS & Android via PWA
Open it and start typing.
No sign-up, no setup. The web app runs entirely in your browser and installs like a native app.
Open QuickNoteWant it native? Sign in inside the app to grab the desktop & qn CLI builds.