Can Rectangle snap and resize windows by keyboard without a subscription?
3 apps · 8 factors
Scored for the goal: Snap and resize windows from the keyboard, free or with a one-time purchase
Quick answer
From the sourced cells below · nobody pays for a position

Buy once, no subscription
Moom
$15 one-time

Free to use
Rectangle
Free
Compare
One judgement per cell. Click a row to read every app’s answer; click a cell to open that answer’s sources.
![]() 50%Misses Keyboard Controls | —Current price unknown | 50%Misses Keyboard Controls | |
|---|---|---|---|
| Purchase | |||
| Current priceNo subscription★ | Free | $15 once +1 | $96/yr +5 |
| Features | |||
| Keyboard ControlsHas Keyboard window positioning, Keyboard window resizing, Customizable shortcuts★ | HalvesQuartersThirds+13 | Custom window shortcuts | Move UpMove DownMove Left+16 |
| Built-in Layouts | Left HalfRight HalfTop Half+9 | Custom window layouts | FullscreenMaximizeMaximize Width+17 |
| Sizing and Gaps | Custom WidthCustom HeightMinimum Width+14 | Custom sizes · grids | MaximizeMaximize WidthExact Width+3 |
| Custom Layouts | Free Rectangle provides one… | Custom reusable layouts | Yes — Pro supports… |
| Position Restoration | Restore returns a window… | Revert restores a window… | Restore returns the focused… |
| Product | |||
| macOS support | ! | mac | macwin |
| What it does | Move and resize windows… | Move | Keyboard-first launcher + productivity… |
Head to head
Two apps side by side, full answers, nothing truncated. Swap either side.

Website: Free, ongoing use; optional donations/sponsorship. Mac App Store (US): unavailable, according to the developer. Rectangle Pro is a separate product.
Website: $15 one-time lifetime license; $8 one-time upgrade; free trial. Mac App Store (US): Moom Classic available, price unknown.
Customizable shortcuts trigger all listed fractional layouts; Center/Center Prominently/custom centering; Maximize/Almost Maximize/Maximize Height; Restore/Reverse All; larger/smaller overall, width or height; double/halve height up/down and width left/right; directional movement; next/previous display and displays 1–9; all/app tiling and cascading; rows/columns; forward/backward stack cycling; Todo left/right placement and reflow; stacked-window list toggle. The list uses arrows to select, Retu
Move, resize/zoom, center, use the on-screen grid, move across displays, and access custom actions (including Chains, Folders and Layouts) by keyboard; assign shortcuts to actions, including single-key shortcuts in the keyboard controller.
Halves: left/right/top/bottom/center; corner quarters; first/center/last thirds and two-thirds; top/middle/bottom vertical thirds and top/bottom two-thirds; corner two-thirds; first/second/third/last fourths; first/center/last three-fourths; six-cell sixths; six full-height sixth strips; eight-cell eighths; eight full-height eighth strips; nine ninths; twelve twelfths; sixteen sixteenths; Center; Center Prominently; custom-sized centering; Maximize; Almost Maximize; Maximize Height; Tile All; C
Custom grids; edge/corner snapping; saved app-specific or any-window layouts, including overlapping arrangements.
Controls include custom width/height; Almost Maximize dimensions (90% default; configurable 0–1); minimum dimensions (25% default; 0–1, with 0 using app minima); resize increment (30px default); width/height-only growth/shrink; directional double/halve; curtain resizing; full-height shrinking; directional resizing; opposite-axis preservation; repeated sizes; inter-window gaps and separate maximize/height-maximize exclusions; top/bottom/left/right screen gaps; notch-top override and main-scr
Custom resize actions; capture active-window dimensions; per-action grid sizes; mouse/keyboard resizing. Resize increments, window gaps, screen margins, and numeric sizing limits: unknown.
Free Rectangle provides one extra centered size with configurable width, height and shortcut through Terminal; configurable repeat behavior; and independent row/column grid limits, default 3. Limit 1 keeps single-window bands; limits above the window count add no layouts. Grids balance occupied cells, require manual reapplication after changes, and retain active state only while running, although an intact grid can be recognized after restart. Preferences and shortcuts transfer through JSON
Custom move/resize actions, per-action grids and snap zones; save app-specific or recent-window layouts, including overlaps, and reuse as drop zones. Cross-display size adjustment is best-effort; recent-window layouts affect N windows matching the saved count.
Restore returns a window to its saved size and position before Rectangle adjustments. Official code stores one restoration frame per window, updated after an external move/resize; it does not provide a step-by-step undo stack. Dragging adjusted windows also restores their size, with options to disable this globally or only after Make Smaller/Larger. Optional repeated Maximize/Almost Maximize restores the immediately preceding size and position; intervening external moves/resizes prevent that-tap
Revert restores a window to its state before interaction with Moom. Optional drag restoration returns prior dimensions for snapped windows or any window positioned by Moom. Saved layouts restore window sizes and positions, including automatically after display changes and optionally wake/unlock. Limits: layouts must be saved separately per Space; Moom itself opens only one window per app when launching a layout (macOS window restoration can reopen more). Undo/redo history depth and retention are
Intel and Apple Silicon. Repository: current version requires macOS 14+; v1.100 supports 10.15–13; v0.73 supports 10.13–10.14. Accessibility permission required. Homepage still says macOS 10.15+.
macOS 10.13 High Sierra or newer; Mac architectures unknown
Move and resize windows in macOS using keyboard shortcuts or snap areas. The official page for Rectangle.
Move, zoom, and snap windows. Arrange windows in layouts. Auto-adjust to display setups.
Cost over time
Plays from month 1 to year 10 when you scroll here. Each bar is split by year; a one-time purchase stays one block.
Every subscription now costs more than Moom, the cheapest one-time purchase.
Releases
Each dot is a release. The hatched bar runs from the last release to today; its color says whether that gap is normal for the app.
1 of 1 app with a dated changelog is behind its usual pace. Furthest behind: Raycast, 59 days since its last release (usually ~7).

Score
A reference score weighted by the priorities set for this research. Nobody pays for placement.
Sources
Where every claim comes from, when it was checked, and how to report an error.
How this report was made
Every cell links to the page it came from. Nobody pays to change a score.
- Report ID
- TMA-1CCKORX
- Sources
- 24
- Verified cells
- 24/24 (100%)
- Last checked
- Oct 18, 2026
- Reading saved
- ≈ 1.5 h
Scoring
Must-have factors weigh 5 and important ones 3; only these are scored, or the first five factors if none are marked. An app earns a factor's weight only when a cited source confirms it, and unknown cells count for no one. A pick is named only when the lead is larger than everything still unresolved could swing. Reading time assumes about 4 minutes per source. Full methodology
Corrections
No corrections yet.