← Blog
12 min read

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 levelNameExamples
0NormalApp windows, Finder
3FloatingUtility panels, inspectors
8Torn-off menuDetached menus
24StatusMenu bar items
1000Screen saverLock 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

  1. Download Hammerspoon from hammerspoon.org and move it to /Applications
  2. Launch it and grant Accessibility permissions when prompted (System Settings > Privacy & Security > Accessibility)
  3. Open your config file: click the Hammerspoon menu bar icon > Open Config, or edit ~/.hammerspoon/init.lua directly
  4. 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)
  1. Reload config: click the Hammerspoon menu bar icon > Reload Config
  2. Test it: focus any window and press Cmd+Ctrl+T. The window stays above others. Press again to unpin

Limitations

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

  1. Download BTT from folivora.ai (45-day free trial, then $22 one-time or $10 for 2 years)
  2. Open BTT preferences and go to the Keyboard Shortcuts section
  3. Add a new shortcut: click the + button
  4. Set the trigger: press your desired hotkey (e.g., Cmd+Ctrl+T)
  5. Set the action: search for "Pin/Unpin Focused Window to Float on Top" in the action list and select it
  6. 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

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

  1. Download Rectangle Pro from rectangleapp.com/pro ($10 one-time)
  2. Launch it and grant Accessibility permissions
  3. Right-click any window's title bar to access the Rectangle Pro menu
  4. Select "Pin to Top" to toggle always-on-top for that window
  5. 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

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

  1. Download Noticky from noticky.app ($6 one-time, no subscription)
  2. Launch it. Noticky appears in your menu bar with no Dock icon
  3. Create a note: press `Cmd+Shift+N` from anywhere. The capture window appears instantly
  4. Type your note. Use Markdown for formatting: **bold**, # headings, - lists, ` code `
  5. Position the note: drag it to any corner or edge of your screen
  6. Enter fullscreen in any app. The note stays visible, floating above the fullscreen window
  7. 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

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

MethodPricePin any windowWorks in fullscreenSetup difficultyBest for
HammerspoonFreeYesNoMedium (Lua config)Developers, scripters
BetterTouchTool$22YesNoEasy (GUI)Power users already using BTT
Rectangle Pro$10YesNoEasy (GUI)Users wanting window management + pin
Noticky$6Notes onlyYesEasyAnyone needing notes above fullscreen
AppleScriptFreeNo (unreliable)NoHardNot 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:

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

Get Noticky — $6

A native macOS sticky note that stays visible in fullscreen. One-time purchase, no subscription.

⬇ Download — $6

macOS 15 Sequoia+ · < 5MB · Secure checkout

Related articles