All articles

How to resize a window to an exact size on Mac (1280×720, 1920×1080, anything)

You can drag a Mac window to any size you like, and you can snap it to half the screen. What you cannot do is tell macOS you want that window to be 1280 by 720. There is no box to type numbers into — not in the window, not in System Settings, not in the green button's menu. So if you need to resize a window to an exact size on Mac — for a screen recording, a set of documentation screenshots, an App Store submission, or testing a layout at a specific breakpoint — you have to go around the interface. Here are the routes that work, the one catch nobody mentions, and how to tell whether you need exact pixels at all.

Why macOS won't let you type a window size

Every native way of sizing a window is either freehand or fractional:

  • Dragging an edge or corner is precise to whatever your hand can do, which is not precise.
  • Tiling — dragging to a screen edge, the green button's menu, or the Fn-Control shortcuts — gives you halves, quarters and (on larger displays) thirds. Fractions of your screen, never dimensions.
  • Zoom (Option-click the green button) asks the app what size it thinks it should be. The app decides, not you.

The closest macOS comes to showing you a number is the screenshot crosshair: press ⌘⇧4 and the pointer carries a live pixel readout as you drag. It will tell you the size of a selection. It will not let you type one. Our Mac screenshot shortcuts guide covers what that tool can and can't do; exact window sizing isn't on the list.

That leaves two native routes that do take numbers: Shortcuts and AppleScript.

The native way: a Shortcuts action you can bind to a key

The Shortcuts app ships with window actions, and one of them takes literal dimensions. Build this once and you get a keyboard shortcut that snaps the front window to a fixed size forever.

  1. Open Shortcuts and create a new shortcut.
  2. Add Find Windows. Sort by Index, smallest first, and set Limit to 1 — that's the frontmost window.
  3. Add Move Window and set it to Top Left.
  4. Add Resize Window, click the sizing method (it defaults to Fit Screen), choose Dimensions, and type your width and height — 1280 × 720.
  5. In the shortcut's details sidebar, Add Keyboard Shortcut and give it a chord you'll remember.

Step 3 is not optional, and it's the step every tutorial that doesn't work has left out. If the window is sitting near the right or bottom edge of the display, there isn't room to grow it, and the resize silently comes out wrong. Moving it to the top-left corner first guarantees the space exists.

macOS will ask for permission the first time you run it — Shortcuts needs to control other apps to touch their windows. Grant it once and it stops asking.

The limitation is honest: one shortcut per size. If you want 720p, 1080p and a 900-pixel-wide browser window, that's three shortcuts and three key bindings. Duplicate the first one and change two numbers. (If you're new to the app, we wrote about what Shortcuts on the Mac is actually good for.)

The AppleScript version

If you'd rather have something you can call from a script, a build step, or a Terminal alias, System Events will size any window of any app:

tell application "System Events"
  set frontApp to first application process whose frontmost is true
  tell frontApp
    set position of window 1 to {0, 25}
    set size of window 1 to {1280, 720}
  end tell
end tell

The {0, 25} puts the window's top-left corner just under the menu bar, and does the same job as the Move Window step above. Save it from Script Editor, or run it inline:

osascript -e 'tell application "System Events" to tell (first application process whose frontmost is true) to set size of window 1 to {1280, 720}'

Whatever runs the script — Script Editor, Terminal, your editor — needs Accessibility permission in System Settings → Privacy & Security. This is the same grant every window tool on macOS needs, for the same reason: moving someone else's window is a privileged act.

Two things will still defeat it. Some apps enforce a minimum window size and will simply refuse to go below it. And a handful of windows — panels, some Electron and Java apps, anything drawing its own chrome — either ignore the request or report a size that doesn't match what you see.

The Retina catch: those are points, not pixels

Here is the part that ruins otherwise-correct tutorials.

Window sizes on macOS are measured in points, not physical pixels. On a Retina display, one point is two pixels. So a window you set to 1280 × 720 will screenshot as a 2560 × 1440 PNG, and a recording of it will come out at 2× too.

That's usually good news — you want the extra resolution — but only if you know it's happening. Practical rules:

  • Need a file that is exactly 1280 × 720? Set the window to 1280 × 720 points, capture it at 2×, and scale the result down by half. An exact 2:1 downscale is clean; cropping a mismatched capture is not.
  • Don't halve the window instead. Setting it to 640 × 360 points to "get" 1280 × 720 gives you a window with half the usable space and doubled-up text. Wrong tool for the job.
  • Check the output once. Scaled display modes ("More Space" and friends) change how many points your screen has, so verify the first file's dimensions in Finder's Get Info before you record forty of them.

Which tool actually does it

ToolTakes exact dimensionsKeyboard-drivenCostNotes
macOS tiling / green buttonNo — fractions onlyYesFreeHalves, quarters, thirds; no numbers anywhere
Shortcuts → Resize WindowYesYes, once you bind a keyFreeOne shortcut per size; move the window first
AppleScript / osascriptYesVia whatever runs itFreeScriptable and repeatable; needs Accessibility
MoomYes — custom size plus an anchorYesPaidCustom controls, saved layouts
RectanglePresets only in the free app; Pro adds shortcuts pointed at any size and positionYesFree / paid ProOpen source
Let's TileNo — repeatable fractions of the displayYesFree tier, $9.99 ProOne shortcut, a visible grid, custom grids and pixel margins in Pro

Where Let's Tile fits — and where it doesn't

Being straight about it: Let's Tile does not take pixel dimensions. If your job is "this window must be 1280 × 720 in a recording", the Shortcuts action above is the right answer and no window tiler replaces it.

What a grid gives you instead is the other kind of exact — the same size every single time. Press ⌘↵ and a grid drops over the window you were using; steer with the arrow keys, press return, and it snaps to that cell. A cell is a fixed fraction of that display, so the left-hand window you make today is pixel-identical to the one you made last Tuesday, and two windows on the same grid match each other exactly without you measuring anything. That is what most people asking this question actually want: repeatability, not a specific number.

The free tier is a 3 × 2 grid — halves, thirds, two-thirds, quarters, full screen — and it stays free. Pro is $9.99 once (no account, no subscription, no telemetry, up to 20 devices per key) and adds grids you shape yourself with + arrows, a remembered grid per display, throwing a window to another display mid-tile, and margins between cells in pixels.

The sane setup, if you do this often, is both: a grid for the ninety percent of window sizing that just needs to be consistent, and one bound Shortcut for the times a spec says 1920 × 1080. They don't conflict — the Shortcut sizes the front window, the grid re-tiles it when you're done.

Frequently asked questions

Can I resize a Mac window to an exact size without installing anything? Yes. Shortcuts and AppleScript are both built in, and both take literal width and height values. Nothing else on the system does.

Why didn't my window resize to the size I asked for? Three usual causes, in order: the window was too close to the right or bottom edge to grow (move it to the top-left first), the app enforces a minimum window size, or the app doesn't expose its window properly to the accessibility API. Try the same script against TextEdit to tell which.

My screenshot came out twice the size I set. That's expected on a Retina display — window sizes are in points, screenshots are in pixels, and one point is two pixels. Scale the file down by half.

Can I set several windows to the same size at once? In Shortcuts, drop the Limit on Find Windows and use a Repeat block around the move and resize actions. Be careful what you match, or you'll resize menu-bar panels too.

Is there a built-in keyboard shortcut for a specific window size? No. The Fn-Control window shortcuts cover fill, centre and the tiling arrangements only — see how to resize windows on Mac for the full built-in set. Any numeric size needs a shortcut you make yourself.