How to Keep a Window on Top on Mac (5 Methods)
Quick answer
macOS does not have a built-in way to keep a window on top of other windows. Unlike Windows (which offers this through PowerToys), Apple provides no native shortcut or system setting to pin a window above everything else. You need a third-party tool. The fastest options: Hammerspoon (free, scriptable, one line of Lua), BetterTouchTool ($22, GUI-based), or Rectangle Pro ($10, window management combo). For sticky notes specifically, Noticky ($6) is the only tool that keeps notes visible even above fullscreen apps. This guide walks through each method step by step, explains why macOS makes this difficult, and helps you pick the right approach for your workflow.
Why macOS has no native "keep on top" feature
On Windows, pinning a window on top is trivial. Microsoft's PowerToys adds a Win+Ctrl+T shortcut that toggles any window to stay above others. macOS has nothing equivalent, and Apple has shown no intention of adding it.
The reason is architectural. macOS organizes windows using a window level system. Every window gets a numeric level that determines its stacking order:
| Window level | Name | Examples |
|---|---|---|
| 0 | Normal | App windows, Finder |
| 3 | Floating | Utility panels, inspectors |
| 8 | Torn-off menu | Detached menus |
| 24 | Status | Menu bar items |
| 1000 | Screen saver | Lock screen overlay |
Standard app windows live at level 0. When you click a window, macOS brings it to the front within that level, but it stays at level 0. There is no UI control, keyboard shortcut, or System Settings toggle to change a window's level. Apple simply never exposed this to users.
To keep a window on top, you need to programmatically set its window level to at least 3 (floating). This requires either an app that does it for its own windows, or a tool that modifies the window level of other apps' windows from the outside.
And then there is the fullscreen problem. When you enter fullscreen mode (Control+Command+F or the green button), macOS creates a separate Space. Windows in your regular desktop Space cannot appear in a fullscreen Space, regardless of their window level. This is the biggest limitation: most "always on top" tools work on the regular desktop but fail completely in fullscreen.
Method 1: Hammerspoon (free, scriptable)
Hammerspoon is a free, open-source macOS automation tool that exposes system APIs through Lua scripting. It can set any window's level to floating with a single function call.
Step-by-step setup
- Download Hammerspoon from hammerspoon.org and move it to
/Applications - Launch it and grant Accessibility permissions when prompted (System Settings > Privacy & Security > Accessibility)
- Open your config file: click the Hammerspoon menu bar icon > Open Config, or edit
~/.hammerspoon/init.luadirectly - Add this hotkey binding:
hs.hotkey.bind({"cmd", "ctrl"}, "t", function()
local win = hs.window.focusedWindow()
if win then
if win:level() == 0 then
win:setLevel(3) -- floating
hs.alert.show("Pinned: " .. win:title())
else
win:setLevel(0) -- normal
hs.alert.show("Unpinned: " .. win:title())
end
end
end)- Reload config: click the Hammerspoon menu bar icon > Reload Config
- Test it: focus any window and press
Cmd+Ctrl+T. The window stays above others. Press again to unpin
Limitations
- Does not work in fullscreen. The pinned window stays in its original Space and vanishes when you enter fullscreen
- Requires Accessibility permissions (a one-time grant)
- No visual indicator of which windows are pinned (unless you add one via scripting)
- If the target app relaunches, the pin is lost
Hammerspoon is the best free option if you are comfortable with a config file and don't need fullscreen support.
Method 2: BetterTouchTool ($22)
BetterTouchTool (BTT) is a Swiss-army-knife automation tool for macOS. Among its hundreds of features, it includes a built-in "Pin Window to Top" action.
Step-by-step setup
- Download BTT from folivora.ai (45-day free trial, then $22 one-time or $10 for 2 years)
- Open BTT preferences and go to the Keyboard Shortcuts section
- Add a new shortcut: click the
+button - Set the trigger: press your desired hotkey (e.g.,
Cmd+Ctrl+T) - Set the action: search for "Pin/Unpin Focused Window to Float on Top" in the action list and select it
- Done. Press your hotkey on any focused window to toggle pinning
Why choose BTT
BTT is worth considering if you already use it for trackpad gestures, window snapping, clipboard management, or other automation. The always-on-top toggle is just one feature in a much larger toolkit. You don't need a separate tool.
Limitations
- Same fullscreen limitation as Hammerspoon: pinned windows disappear in fullscreen Spaces
- BTT is a large app with many features you may not need. If you only want window pinning, it is overkill
- $22 is steep for a single feature, though the 45-day trial gives you time to evaluate
Method 3: Rectangle Pro ($10)
Rectangle Pro is a window management app focused on snapping, layouts, and organization. It includes an always-on-top toggle as a secondary feature.
Step-by-step setup
- Download Rectangle Pro from rectangleapp.com/pro ($10 one-time)
- Launch it and grant Accessibility permissions
- Right-click any window's title bar to access the Rectangle Pro menu
- Select "Pin to Top" to toggle always-on-top for that window
- Or set a global hotkey in Rectangle Pro's preferences under the "Pin" action
Why choose Rectangle Pro
If you already use Rectangle (the free version) for window snapping and want a paid upgrade, Rectangle Pro adds always-on-top as a natural extension. It combines window management and pinning in one tool.
Limitations
- No fullscreen support. Pinned windows stay in the desktop Space only
- The free version of Rectangle does not include the pin feature; you need Pro
Method 4: Noticky for sticky notes ($6)
If your goal is keeping notes visible while you work, the problem has a purpose-built solution. Noticky is a macOS menu bar app designed specifically for floating sticky notes, and it is the only tool that keeps notes visible above fullscreen apps.
Step-by-step setup
- Download Noticky from noticky.app ($6 one-time, no subscription)
- Launch it. Noticky appears in your menu bar with no Dock icon
- Create a note: press `Cmd+Shift+N` from anywhere. The capture window appears instantly
- Type your note. Use Markdown for formatting:
**bold**,# headings,- lists,`code` - Position the note: drag it to any corner or edge of your screen
- Enter fullscreen in any app. The note stays visible, floating above the fullscreen window
- Organize: use Smart Tags to color-code notes by project. Lock sensitive notes with Touch ID
Why Noticky works in fullscreen when nothing else does
Most tools pin windows at macOS floating level (level 3). This works above normal windows but cannot cross fullscreen Space boundaries. Noticky uses a higher window level that macOS renders above the fullscreen compositing layer. The note becomes Space-independent, visible regardless of which Space or fullscreen app is active.
This is not a hack or an accessibility exploit. Noticky uses the macOS window API deliberately to achieve what a sticky note should always have done: stay visible.
For a deep dive into how this works technically, see How to Keep a Sticky Note Visible in Fullscreen on Mac.
What else Noticky includes
- iCloud Sync across all your Macs
- Touch ID lock for sensitive notes
- Markdown WYSIWYG editor (headings, bold, code blocks, lists)
- Smart Tags with color coding
- Templates for recurring note formats (standups, meeting agendas, checklists)
- Reminders on time-sensitive notes
- Export to
.txt,.md, or.pdf - Trash with 30-day retention
All of that for $6 once. No subscription, no account required.
Method 5: AppleScript and Shortcuts (limited)
You might expect macOS automation tools to handle window pinning. They cannot, at least not reliably.
AppleScript
AppleScript's System Events can manipulate windows via the Accessibility API. You can bring a window to front with AXRaise, resize it, or move it. But there is no AppleScript command to set a window's level. AXRaise brings a window to the front once, but the next click on any other window sends it behind again. This is not "always on top."
macOS Shortcuts
The Shortcuts app (introduced in Monterey) has no window level actions. You cannot create a Shortcut that pins a window on top.
Automator
Same limitation. Automator provides window manipulation via AppleScript, but no access to window levels.
The verdict
Native macOS automation tools lack the API access needed for true always-on-top behavior. You need a third-party tool that interfaces directly with the window server, like Hammerspoon, BTT, or Noticky.
Comparison: which method to use
| Method | Price | Pin any window | Works in fullscreen | Setup difficulty | Best for |
|---|---|---|---|---|---|
| Hammerspoon | Free | Yes | No | Medium (Lua config) | Developers, scripters |
| BetterTouchTool | $22 | Yes | No | Easy (GUI) | Power users already using BTT |
| Rectangle Pro | $10 | Yes | No | Easy (GUI) | Users wanting window management + pin |
| Noticky | $6 | Notes only | Yes | Easy | Anyone needing notes above fullscreen |
| AppleScript | Free | No (unreliable) | No | Hard | Not recommended |
The key differentiator: only Noticky works in fullscreen. If you work in fullscreen mode on a MacBook (and most people do), the other tools leave a gap that only Noticky fills for notes.
For a broader comparison of always-on-top tools, see Always on Top on macOS: How to Keep Any Window Visible.
Use cases: when you need a window pinned on top
Developers
Pin a terminal, documentation page, or environment variables above VS Code or Xcode. With Noticky, keep API specs or SQL queries visible in fullscreen. No Cmd+Tab, no Space swiping.
Designers
Keep a design brief, brand palette, or client feedback floating next to Figma or Sketch. Noticky notes stick above the canvas even in fullscreen.
Students and researchers
Pin formulas, lecture notes, or citation guidelines above a paper you are writing. Noticky works above fullscreen Pages, Word, or Google Docs in Safari.
Remote workers
Meeting agenda, talking points, or action items floating above Zoom or Google Meet. No more losing the video feed to check your notes.
Traders and analysts
Watchlists, calculations, or alerts pinned above a fullscreen trading platform. Glance at the data without context switching.
The hidden cost of not pinning windows
Research from the University of California, Irvine shows it takes an average of 23 minutes to refocus after a task interruption. Every time you swipe between Spaces or Cmd+Tab to check a reference, you introduce a micro-interruption. Over a full workday, these compound into significant focus loss.
Keeping reference material pinned on top eliminates this cost. The information is there when you glance at it; your hands never leave the keyboard, and your focus stays on the primary task.
FAQ
Can macOS keep a window on top without any third-party app?
No. macOS has no built-in setting, shortcut, or menu option to pin a window above others. Apple's design philosophy treats fullscreen as total isolation. You need a third-party tool like Hammerspoon, BetterTouchTool, Rectangle Pro, or Noticky.
Does Stage Manager replace the need for always-on-top?
Stage Manager (introduced in macOS Ventura) organizes windows into groups along the left edge of the screen. It is a window management system, not a pinning mechanism. It does not keep a window visible above a fullscreen app. In some cases, Stage Manager makes the problem worse by hiding windows you want to see.
Will any of these methods slow down my Mac?
No. Hammerspoon and Noticky are lightweight native tools that consume negligible CPU and memory. BetterTouchTool is heavier due to its feature set but has no measurable impact on window rendering performance. Window level changes are handled by the macOS window server at the compositor level, not by the app.
Can I pin a browser window on top to watch a video?
Yes, using Hammerspoon or BetterTouchTool. Pin the Safari or Chrome window and it stays above other desktop windows. However, it will not stay above fullscreen apps. For a floating video specifically, consider Helium (free, purpose-built for floating web content).
Is there a keyboard shortcut to keep a window on top on Mac?
Not natively. You can create one using Hammerspoon (Cmd+Ctrl+T in the example above), BetterTouchTool, or Rectangle Pro. Noticky uses Cmd+Shift+N to create a note that is automatically always on top.
Bottom line
macOS does not let you keep a window on top out of the box. Your best options:
- For any window (desktop only): Hammerspoon (free) or BetterTouchTool ($22)
- For window management + pin: Rectangle Pro ($10)
- For notes that stay visible in fullscreen: Noticky ($6)
If you work in fullscreen, and your goal is keeping reference notes visible, Noticky is the only tool that solves the problem completely. $6, no subscription, works above fullscreen apps.
For more on how Noticky compares to other note apps, see 7 Best Sticky Note Apps for Mac in 2026.
Get Noticky — $6
A native macOS sticky note that stays visible in fullscreen. One-time purchase, no subscription.
⬇ Download — $6macOS 15 Sequoia+ · < 5MB · Secure checkout
Related articles
Always on Top on macOS: How to Keep Any Window Visible
macOS doesn't have a native 'always on top' feature. Here's how to pin windows above everything — including fullscreen apps — using Noticky and other tools.
Pin Window on Top on Mac: Keyboard Shortcuts Guide
Learn how to pin a window on top on macOS using keyboard shortcuts. Compare BetterTouchTool, Rectangle Pro, Hammerspoon, and Noticky for always-on-top.
How to Keep a Sticky Note Visible in Fullscreen on Mac
Most sticky note apps disappear when you enter fullscreen mode on macOS. Noticky is designed to float above everything — even fullscreen apps.