Rectangle app App for Mac: Keyboard Window Tiling Without the Mouse
Rectangle mac is a free, open-source window manager for macOS. Press a shortcut and the active window moves to the left half, a corner quarter, or a third of the screen; drag a window to a screen edge and it snaps into place. It runs on macOS 10.15 and later, on Intel and Apple Silicon, and the current release (v0.96 at the time of writing) is available from rectangleapp.com or the Rectangle app/releases”>GitHub releases page.
If all you want is two windows side by side, macOS Sequoia and later can already do that from the keyboard. Rectangle earns its place when you want thirds, quarters, repeatable shortcuts you can rebind, or a way to move windows between displays without touching the trackpad.
Install and grant Accessibility access
Download the .dmg and drag Rectangle to Applications, or use Homebrew:
brew install --cask rectangle
On first launch, macOS asks for Accessibility permission. Enable Rectangle under System Settings > Privacy & Security > Accessibility. This is the only permission the app needs, and without it no window will move. Rectangle also asks whether you want its own default shortcuts or Spectacle’s legacy set; the tables below assume Rectangle’s defaults.
Before changing anything, pick a browser window and choose Left Half from the menu bar icon. If the window moves, the permission is working and you can start learning shortcuts.
Default keyboard shortcuts
Every action uses Control + Option plus one key. All of them can be rebound in the Shortcuts tab of the preferences window.
| Action | Shortcut |
|---|---|
| Left half / Right half | ⌃⌥← / ⌃⌥→ |
| Top half / Bottom half | ⌃⌥↑ / ⌃⌥↓ |
| Maximize | ⌃⌥↩ |
| Center | ⌃⌥C |
| Top-left / Top-right quarter | ⌃⌥U / ⌃⌥I |
| Bottom-left / Bottom-right quarter | ⌃⌥J / ⌃⌥K |
| First / Center / Last third | ⌃⌥D / ⌃⌥F / ⌃⌥G |
| First two thirds / Last two thirds | ⌃⌥E / ⌃⌥T |
| Next display / Previous display | ⌃⌥⌘→ / ⌃⌥⌘← |
| Make larger / Make smaller | ⌃⌥= / ⌃⌥- |
| Restore | ⌃⌥⌫ |
Two behaviors are worth knowing from the start. Repeating First Third cycles the window through first, center, and last third, so one shortcut covers all three columns. And Restore returns the window to the size and position it had before Rectangle last moved it; it applies to the active window only, not to every window you’ve arranged.
Additional sizes that don’t have a default shortcut (fourths, sixths, ninths, “almost maximize,” “maximize height,” move-to-edge without resizing) live under the ellipsis button at the bottom of the General tab, where you can assign your own keys.
Snap areas: drag-to-tile
Drag a window to an edge and a translucent footprint shows where it will land when you release. The mapping is fixed:
| Drag to | Result |
|---|---|
| Left or right edge | Left or right half |
| Top edge | Maximize |
| Any corner | Quarter in that corner |
| Left or right edge, just above or below a corner | Top or bottom half |
| Bottom edge, left / center / right third | That third |
| Bottom-left or bottom-right third, then drag to bottom center | First or last two thirds |
Snapping can be turned off in the preferences if you find yourself triggering it by accident. The README also notes that a small number of users see Notification Center freeze with snapping enabled; disabling “Snap windows by dragging” is the documented fix.
A first layout: document plus reference
Suggested workflow for a laptop screen:
- Click the document window to make it active, then press ⌃⌥←.
- Click the browser window, then press ⌃⌥→.
Focus matters. If the document stays active while you press both shortcuts, it moves twice and the browser stays where it was.
On a wider display, a 2/3 + 1/3 split usually reads better than halves: document on ⌃⌥E, reference on ⌃⌥G. Use the named placement for both windows. Pressing Make Larger on one window doesn’t shrink its neighbor, so growing the document from a half-screen layout will overlap the reference instead of producing a clean split.
Working across two displays
Next Display (⌃⌥⌘→) moves the active window to the adjacent monitor, scaling it to that display’s dimensions. Thirds respect orientation: on a portrait-mounted monitor, “first third” is the top third.
There is also an option to let repeated Left Half or Right Half presses carry a window onto the next display once it’s already at the edge, which some people prefer over a separate display shortcut.
One limit to know: Rectangle does not move windows between Spaces (virtual desktops). Apple has no public API for it. Rectangle Pro implements Next/Previous Space by simulating a title-bar drag plus the system Space shortcut, but the free app doesn’t include those actions.
Ignore an app with conflicting shortcuts
Some apps use Control + Option combinations themselves. Rather than remapping Rectangle, bring the conflicting app to the front, open the Rectangle menu, and choose Ignore app. While that app is frontmost, Rectangle’s shortcuts are unregistered from macOS; switch away and they come back. The same thing can be scripted:
rectangle://execute-task?name=ignore-app&app-bundle-id=com.apple.Safari
Trigger actions from scripts and launchers
Any action can be run through a URL, which is how people wire Rectangle into Alfred, Raycast, Keyboard Maestro, or a Stream Deck:
open -g "rectangle://execute-action?name=left-half"
The full list of action names (including tile-all, cascade-all, reverse-all, and every fraction from halves to ninths) is in the project README.
Hidden settings and where preferences live
The preferences window is deliberately small. More options are set through defaults write commands documented in TerminalCommands.md, such as adding a gap between tiled windows. Restart Rectangle after changing one.
Preferences are stored in ~/Library/Preferences/com.knollsoft.Rectangle.plist. The Settings tab has Export and Import buttons that write and read the same configuration as JSON. A file placed at ~/Library/Application Support/Rectangle/RectangleConfig.json is imported once at launch and then renamed with a timestamp; it is not a live config file. If you installed with Homebrew and settings don’t persist across restarts, the README’s fix is brew uninstall --zap rectangle followed by a reinstall.
What macOS already does without Rectangle
Since macOS Sequoia, Apple ships window tiling of its own: drag a window to a screen edge, use the Window > Move & Resize menu, or press documented shortcuts such as Fn-Control-Left Arrow and Fn-Control-Right Arrow for halves and Fn-Control-R to return a window to its previous size. The margin between tiled windows is a setting (“Tiled windows have margins” under System Settings > Desktop & Dock) and can be turned off.
Try the native controls with your everyday apps first. If halves and quarters through the Window menu cover your work, there’s no reason to add a utility. Rectangle is the better fit when you want thirds and two-thirds from the keyboard, cycling through sizes on a repeated press, shortcuts you choose yourself, a per-app ignore list, or scriptable actions. This is a judgment about workflow, not a feature-count contest.
Rectangle vs. Rectangle Pro
Rectangle Pro is a separate, paid, closed-source app by the same developer, built on top of Rectangle. Its page advertises a “throw” gesture that sends a window to one of 16 positions from anywhere on it, custom sizes and positions, workspace layouts that apply with one shortcut or when a display connects, window stashing on screen edges, Next/Previous Space actions, and iCloud sync of settings. It offers a 10-day trial and requires macOS 13.5 or later; check the Pro page for current pricing.
The practical test: if you rebuild the same editor-browser-terminal arrangement every time you dock a laptop, Pro’s workspace feature is designed for exactly that. If you mostly split two windows, the free app is enough.
If a shortcut does nothing
The README’s troubleshooting order, which reflects the causes the maintainer sees most often:
- Lock and unlock your Mac. This resolves a surprising share of failures, particularly after a macOS update.
- Restart the Mac if it still doesn’t work.
- Try the same action from the menu bar menu. If the menu works and the shortcut doesn’t, the problem is a shortcut conflict in the frontmost app.
- Quit any other window manager (Magnet, BetterSnapTool, yabai, and so on) while diagnosing.
- Reset the Accessibility permission:
tccutil reset All com.knollsoft.Rectangle, or in System Settings disable Rectangle in the Accessibility list, remove it with the minus button, restart, and re-grant on launch. The order (disable, then remove) matters.
For a problem confined to one app, look at that app first. The README calls out iTerm2, which resizes only in character-width increments by default; defaults write com.googlecode.iterm2 DisableWindowSizeSnap -integer 1 turns that off.
To see what Rectangle is actually doing, hold Option while the menu is open and choose View Logging… (it replaces the About item). Each action prints the calculated rect and the resulting rect. If they match but the window didn’t land there, another app is interfering. Save the log if you open a GitHub issue.
Uninstalling
Quit Rectangle and move it to the Trash. To remove stored preferences as well:
defaults delete com.knollsoft.Rectangle
Homebrew users should run brew uninstall --zap rectangle so the plist is removed too.