BeautyShot documentation

BeautyShot turns a real running app window into a pixel-perfect screenshot suitable for the App Store, your marketing site, or social. Pick what to shoot, drop it onto a custom desktop, and ship light + dark — and every supported language — in one pass.

Installation

BeautyShot is a direct download from bendansby.com/apps/beautyshot — a standard .dmg; drag BeautyShot.app into Applications. Requires macOS 14 Sonoma or later; universal binary.

Permissions

BeautyShot needs two:

Your first shot

  1. Launch BeautyShot and the app you want to capture.
  2. Pick the source window in the picker (or pick "Single app" / "Multiple windows" for the other scopes).
  3. Choose your output size, light/dark mode toggles, backgrounds, and any menu-bar tweaks.
  4. Press ⌘⇧C. BeautyShot stages everything, fires the capture(s), and shows a review sheet.
  5. Tick the keepers, hit Save.

How capture works

BeautyShot doesn't composite a fake screenshot — it stages the real desktop and grabs it. The wallpaper, the menu bar, the system appearance, the window's position are all set on the actual display, then a flat ScreenCaptureKit shot is taken. Translucency, drop shadows, vibrant materials — every macOS rendering quirk is baked in by WindowServer rather than approximated.

This is why permissions matter and why nothing else can be moving on the desktop while BeautyShot is staging.

The three scopes

The capture-scope picker chooses what gets shot:

Sizing the source window

BeautyShot can resize the source window before capture so it matches the output canvas cleanly. The presets (require Accessibility permission):

Countdown

Optional pre-capture countdown of 0 / 3 / 5 / 10 seconds. Gives you time to switch focus, position the cursor, dismiss a tooltip. With Repeat after each language switch enabled, the countdown also fires before each relaunch in the language sweep (see below).

Output size

Pick the canvas size your screenshot will land on:

Backgrounds

Light and dark backgrounds are configured independently — set them once, BeautyShot uses each for the matching mode.

Three kinds per side:

BeautyShot can dress the menu bar however the screenshot needs it. Toggles:

BeautyShot also OCRs the foreground app's menu bar so the "File / Edit / View" titles on the left match the captured app even if BeautyShot was the active app at shutter time.

Shadows & chrome

The captured window keeps its real macOS chrome — title bar, traffic lights, vibrant materials, corner radius. The drop shadow is rendered by WindowServer (the OS), not BeautyShot, so it looks like every other macOS shot. Turn it off via the Window shadow toggle if you want a flat composite.

Dual export in one pass

With both Capture light and Capture dark ticked, single-window and single-app scopes flip the system appearance during capture so you get both modes from one shutter press. The OS repaints the menu bar, the window vibrancy, and the shadows for each appearance — no synthetic dark mode. Multi-window scopes capture both modes sequentially.

Multi-language sweep

Ten languages are built in: English, Spanish, French, German, Italian, Portuguese (Brazil), Japanese, Korean, Simplified / Traditional Chinese, Russian. Tick any combination.

In single-window or single-app mode, BeautyShot relaunches the target app with each language's -AppleLanguages override and captures it freshly localised. With the Repeat after each language switch toggle on, the countdown fires before each relaunch so you have time to dismiss any first-run dialogs the app might show.

Multi-window mode skips language sweeps — the windows belong to different apps, so there's no single relaunch target.

Review sheet

After the run completes, BeautyShot shows a review sheet with one tile per captured shot. Click tiles to toggle them in or out of the save. Useful when the language sweep produced one bad frame (focus stolen, modal popped) and you want to drop just that one.

File naming

Output files are PNG. Naming depends on whether you supplied a variant name:

Multi-language runs group output under per-language subfolders. Existing names auto-increment ( (2), (3)) so a re-capture never overwrites.

Grouped runs

Each capture session can either create a new dated folder or append into the previous run's folder. Use the latter when you're iterating on a single screenshot — every shutter press lands alongside the previous attempts so you can compare and pick.

Presets

Save a snapshot of the configuration — scope, window-resize preset, light/dark toggles, shadow, countdown, languages, output size, backgrounds, menu-bar fakes — under a name. Recall it later with one click.

Source state (which window you picked, the composite window list, the save folder) is intentionally not saved with a preset — those are per-session.

Preferences

BeautyShot persists every configurable option automatically — backgrounds, save-folder location, countdown, capture toggles, menu-bar fakes, output size, scope, window-size preset, language selection. Set things once and they stay set. Use Presets for named variants you want to switch between.

Keyboard shortcuts

ShortcutAction
⌘⇧CTake N shots
EscCancel in-flight capture
/ Navigate review-sheet tiles

License & trial