Never lose your train of thought again.
Fourteen windows open, and not one of them says why. WindowNote pins the reason straight to the window it belongs to — one keystroke, and it is still there tomorrow.
- Free for 2 windows, no time limit
- No account, no sign-up
- Nothing leaves your machine
- macOS 12+ and Windows 10/11
The window is still open. The reason is gone.
You did not forget because you are disorganised. You forgot because the thing you needed to remember lived in your head, and the window it belonged to had no way to hold it.
“Why is this open again?”
Six terminal tabs, four browser windows, two spreadsheets. Every one of them was urgent an hour ago, and three of them you can no longer place.
You close the wrong one
The window with the migration running looks exactly like the window with nothing running. There is no label, so there is nothing to read before you hit ⌘W.
Monday costs you an hour
Not because the work is hard, but because rebuilding where you were takes longer than the work you stopped to do on Friday.
The note is in the wrong place
A to-do in a task manager, a reminder in a text file, a Post-it on the monitor. None of them are where the work is, so none of them are read at the moment they matter.
WindowNote puts the note where you will actually see it: on the window.
Drag the window. Watch the note.
This is the whole product in one gesture. The note is not on your desktop and not in a sidebar — it is on that window, and it behaves like part of it.
The note sits where you pinned it.
Drag the window, or use the buttons.
If you work in more than four windows, this is for you.
The app came out of one specific annoyance and turned out to fit a lot of desks. These are the ones people keep describing.
Developers
“Migration running, do not close.” “Branch is half-merged.” “This terminal is the staging box.” The window that will bite you is the one that looks like all the others.
BlockedStaging box
Do not run the seed script here.
Analysts and finance
Four spreadsheets that differ by one filter. A note on each says which is the one you sent, which is the draft, and what was wrong in row 40.
ReviewQ3 forecast
Row 40 still uses the old rate.
Support and ops
One window per ticket, one note per customer. What they said, what you promised, and when you have to come back to it.
WaitingTicket 4471
Waiting on logs. Chase Thursday.
Writers and researchers
A tab note that only appears on the tab it belongs to. The source you were checking is written next to the source, not in a separate document.
In progressSources
Check the 2019 figure before quoting it.
Five states, and the one you were actually in.
A note's status is a stripe on its edge and a word at the top. It is what lets you glance at a screen full of windows and see where you stopped.
- In progress
Rewrite the importer
Half done, see the branch.
In progress
- Blocked
Migration running
Do not close this window.
Blocked
- Waiting
Numbers from Marc
Chased Tuesday. Follow up Friday.
Waiting
- Review
Check the export
Numbers looked off in row 40.
Review
- Done
Rate limits
Shipped. Kept for the changelog.
Done
One minute to install. One keystroke to find out.
Free for two windows, no account, nothing to cancel. If it is not for you, you will know before your coffee is cold.
How a note finds its window again.
The hard part of this app is not drawing a sticky note. It is knowing, tomorrow, which of the fourteen open windows is the one you wrote about. Every note carries a fingerprint of its window — bundle identifier, application name, the title as it read at the time, and the document path when the app exposes one — and on every change those fingerprints are re-bound onto the windows that are open right now, strongest signal first.
Two rules that outrank the ladder
Different documents in the same app never match, whatever the titles say. Attaching your note to the wrong file is worse than showing no note at all.
The confidence is shown in the interface. An admitted guess beats a confident wrong answer, so every match says how sure it is — and you can overrule it in one click.
Only certain sightings teach
While a binding is certain — an exact title, a document, a manual pin — every title the window wears is collected and its frame recorded. A merely *probable* match is never allowed to feed the fingerprint: one wrong guess writing itself back in would poison that window's identity for good.
The ladder, in order
- 01manual
Assigned by you
You pointed at the window. Nothing outranks that.
- 02exact
Same document path
The file is the identity. Titles may do as they like.
- 03exact
Same window title
Normalised first — see below.
- 04exact
A title it wore before
Every title a window carried while the binding was certain, up to eight of them.
- 05probable
Same project
The trailing segment of
file — project, where that segment is not one every window shares. - 06probable
Similar title
Similarity of 0.75 or better.
- 07probable
Usual position and size
The spot on screen the window was last certain in.
- 08probable
Only window of that app
The last resort, and admitted as a guess.
Why titles are normalised
A window's title rarely sits still. Unsaved-changes markers, unread counters, trailing app names and terminal window sizes all move while you work. They are stripped before anything is compared, which is what lets a window stay matchable while you are using it.
- ● importer.dart — cellalertimporter.dart — cellalert
- (12) Inbox — MailInbox
- zsh — 128×34zsh
The whole window, or just this tab.
A browser window is several places at once. So a note says which one it belongs to, and the two behave differently on purpose.
Whole window
Visible on every tab, even when the title changes.
This tab only
Visible only while exactly this tab is open.
When a tab note's tab is closed, the note does not vanish and does not follow the wrong page. It falls back to the window and says so.
Four surfaces, and a menu bar icon.
WindowNote is a menu bar app that mostly stays out of the way. When you do open it, this is all of it.
One shortcut, from anywhere
⌥⇧N over the window you are in. No window picker, no app switch, no cursor journey to a menu. The editor opens on the note, the note is already attached, and Escape puts it away.
The editor opens on the note. The note is already attached.
You have tried the alternatives. Here is where they stop.
None of these are bad tools. They are all in the wrong place — which is the only thing that matters when the note has to be read at a glance, mid-task.
| Sticky notes on the desktop | A notes or task app | WindowNote | |
|---|---|---|---|
| Is it where the work is? | Floats over everything, including what you are reading | In another app you have to remember to open | On the window it is about |
| Does it get out of the way? | No — it is always on top | Not applicable; it is never in the way, and never in sight | Hides when the window is covered or minimised |
| Does it survive a restart? | The note does, the context does not | Yes, but it never had the context | Note and window are found again together |
| How long to write one? | Find the app, make a note, place it | Switch app, pick a project, type, switch back | One keystroke, in place |
| Where does it live? | Locally, usually | Usually a server, usually an account | Locally. No account, no sync, no telemetry |
It reads the label, never the contents
WindowNote sees an app's name, a window's title, its position and size, and the document path when the app offers one. Not the contents of a window, not keystrokes, not the clipboard. The Accessibility permission is far broader than that — the restraint is the app's own, and it is stated on the permission screen because someone handing over that permission deserves to know where the line is.
Nothing leaves the machine
Notes live in a local database on your own disk. No account, no sync server, no telemetry, no crash reporter phoning home. The only network call the app ever makes is the licence check, and the free tier does not make it.
It never holds your notes hostage
The free tier limits how many windows carry notes, never how much you write on them, and never takes back what you have already written. A subscription that lapses drops you to Free with every note still readable and editable. A notes app that locks up your own words is one you stop trusting.
What WindowNote can see, and what it never looks at.
The app asks for the Accessibility permission on macOS, which is one of the broadest permissions the system grants. Here is the whole of what it does with it.
What WindowNote reads
- The app's name and identifier
- Window titles
- Window position and size
- The document path, when the app offers one
What WindowNote does not read
- The contents of your windows
- Keystrokes, clipboard, passwords
- The accessibility tree inside another app
- Anything at all, off this machine
Where the notes actually are
A SQLite file in your own Application Support folder. You can read it, back it up, and delete it. There is no copy anywhere else.
~/Library/Application Support/de.jonashottler.windownote/%APPDATA%\Balane\WindowNote\The diagnostics report in Settings copies what the app can currently see of your windows, for bug reports. It leaves this machine only if you paste it somewhere.
Two platforms, one product.
The note card is drawn once, in Dart, and handed to both platforms as a bitmap — so a note looks the same on a Mac and on a PC because it is the same picture.
macOS
ShippingWindow tracking through the Accessibility API, floating overlay panels, the global hotkey and the menu bar item. Signed with a Developer ID and notarised. Not sandboxed — a sandboxed process cannot read other applications' windows, and that is the whole app.
Windows
In testingWindow tracking through WinEvent hooks, layered overlay windows, the tray icon and the same hotkey. Built and compiling in CI; going out to testers before it is claimed as finished on this page.
Whichever platform you are on, the notes are local to it. There is no sync, and there is no plan for one that would put your window titles on somebody else's server.
Two windows free. All of them for €1.25 a month.
The limit is on windows, not on notes. Keep as many notes as you like on the two windows you picked, for as long as you use the app.
Free
€0
forever, no time limit
- Notes on 2 windows
- Unlimited notes per window
- Every status, colour and position
- Survives restarts
- No account, no sign-in
Pro
€1.25per month
€14.99 billed once a year · incl. VAT · cancel any time
- Unlimited windows
- Up to 3 Macs
- All future updates
- Everything in Free
Purchase and invoicing happen in your browser via Lemon Squeezy.
What happens when the internet does not
The licence is checked in the background, at most once a day. If Lemon Squeezy is unreachable, Pro keeps working for seven days — because locking a paying customer out of their own notes over a flaky connection is not a defensible default.
Put it on the window and get on with it.
Free for two windows, with no time limit and no account. Install it, press ⌥⇧N once, and you will know within a minute whether it is for you.
Version 0.9.1
Everything people ask before installing it.
Why does it need the Accessibility permission?
It is the only way on macOS to see which windows other applications have open, what they are called, and where they are. Without it the app cannot attach a note to anything. It reads window metadata only — never the contents of a window, never keystrokes, never the clipboard.
Where are my notes stored?
In a SQLite file inside your own Application Support folder. Nothing is uploaded, there is no account, and there is no server holding a copy.
What happens after a restart?
Notes come back. Each one carries a fingerprint of its window — the app, the normalised title, the document path, and the titles and position it wore while the match was certain — and those are re-bound onto whatever is open. Where the match is a guess rather than a certainty, the app says so instead of pretending.
Does it work with terminals, whose titles never sit still?
Yes, and that case is why the remembered-titles and remembered-position signals exist. While a binding is certain, every title the window wears is collected and its frame recorded, so any of them re-identifies it later.
Can I put a note on a single browser tab?
Yes. Each note says whether it belongs to the whole window — visible on every tab — or to exactly this tab. When a tab note's tab is closed, the note falls back to the window and tells you it has.
Is there a Windows version?
Windows is built and compiling in CI: window tracking, the global hotkey, layered overlay windows and the tray icon. It is going out to testers before this page calls it finished. macOS ships today.
Do the notes sync between my machines?
No. A sync would mean your window titles — which are file names, customer names and ticket numbers — living on a server. The Pro licence covers three Macs; the notes on each stay on that Mac.
What happens if I stop paying?
You drop to Free. Every note you have written stays readable and editable; only pinning to a third window is blocked. Nothing is deleted and nothing is locked.
Is it in the Mac App Store?
No. The App Store requires the sandbox, and a sandboxed process cannot read other applications' windows — which is the entire app. It is distributed directly, signed with a Developer ID and notarised by Apple.
Can I change the shortcut?
Yes, in Settings. If another app has already claimed the combination, the app says so rather than silently failing to register it.