HotShot documentation

Capture the screen, a window, a region, a live web page, or a recording — then mark it up, compose it, and export it, without leaving the app.

Installation

HotShot is a direct download from bendansby.com/apps/hotshot: a .dmg — open it and drag HotShot.app to your Applications folder. The build is signed with a Developer ID and notarized by Apple.

Requires macOS 15 Sequoia or later, on Apple Silicon or Intel.

There is no Mac App Store version, and there won't be. Hiding desktop icons, masking the menu bar, and resizing another app's window all need an unsandboxed process and the Accessibility permission, which Apple's sandbox rules out. Rather than ship a version with a third of the features missing, HotShot is direct-download only.

Permissions

The first launch shows a permissions screen. Two are required, and HotShot genuinely cannot work without them; two more are optional and only matter if you want them.

PermissionWhyRequired?
Screen Recording To read the pixels of your screen at all — every capture and every recording depends on it. Yes
Accessibility To resize the window you're about to capture to an exact size before shooting it. Yes
Camera Only for the optional webcam bubble in a recording. No
Microphone Only for optional narration in a recording. No

Grant them in System Settings → Privacy & Security. The screen re-checks continuously, so it lets you through the moment both required permissions are on — no relaunch needed.

Quick start

  1. Launch HotShot. It lives in the menu bar — look for the flame icon at the top right.
  2. Click the icon (or press your global shortcut) to open the capture panel.
  3. Pick a capture — Screen, Window, Selection, or Web Page. Or press ⌘1 through ⌘4.
  4. The shot opens in a new untitled document, on the Markup tab.
  5. Annotate it. Then switch to Compose to put it on a backdrop with a title.
  6. Export a PNG, copy it to the clipboard, or copy a share link.

The panel

Everything starts from one panel. It opens two ways, and they show exactly the same thing: click the menu-bar icon, or press the global keyboard shortcut you set in Settings, which floats the panel over whatever you're doing.

Screenshot The capture panel: header with app name and shortcut caps, four capture rows, two record rows, staging toggles.
The capture panel, summoned by the global shortcut.

Six actions, each with its own shortcut while the panel is open:

ShortcutActionWhat it does
⌘1Capture ScreenEverything on the display.
⌘2Capture WindowPick a window, optionally resized first.
⌘3Capture SelectionDrag out a region.
⌘4Capture Web PageBrowse, then shoot at chosen viewports.
⌘5Record ScreenRecord the whole display.
⌘6Record WindowRecord one window.

Below the actions are the staging toggles and, when a recording is in prospect, the camera and microphone switches. Two buttons sit at the bottom left: one opens an empty canvas you can paste into, the other opens a saved HotShot document.

Prefer a plain menu? Settings → General → Clicking the icon opens switches the menu-bar icon between the rich panel and a classic macOS menu. The global shortcut always summons the panel.

Screen

Captures the whole main display. If either staging toggle is on, HotShot cleans up first, takes the shot, and puts everything back — you never see the intermediate state in the finished image, and neither does your desktop for more than a moment.

Window

Opens a floating picker showing every capturable window as a live thumbnail. Click the one you want.

The picker also has a size dropdown. Choose a size and HotShot resizes that window before shooting it, so you get an exact pixel dimension rather than whatever the window happened to be. This is what the Accessibility permission is for.

Window captures exclude the drop shadow. You get the window itself, edge to edge, with a transparent background around its rounded corners — ready to drop onto a Compose backdrop with a shadow of your own.

Selection

Dims the screen and gives you a crosshair. Drag out the region you want; release to capture it. Esc cancels.

Staging applies here too, but it's applied after you've drawn the region — you need to see the real screen to know what you're selecting.

Web page

Opens a browser window inside HotShot. Type an address, browse to what you want, and capture it as a full-length page shot.

Screenshot The web capture window: address bar with history autocomplete, viewport chips, page preview.
Web capture, mid-browse, with three viewports selected.

To capture a page in your real browser — logged in, scrolled where you left it, cookie banner already dismissed — use the browser extensions instead.

Staging & delay

Two toggles on the panel clean the shot up before it's taken:

Both are reversed automatically the moment the capture or recording finishes.

The Delay setting (None, 3, 5, or 10 seconds) applies to all six actions. It runs before staging and before the shot, giving you time to open a menu, hover something, or get a dialog on screen. For Capture Selection the delay runs after you draw the region, for the same reason staging does.

Documents

Every capture opens an untitled document — nothing is written to disk unless you save it, and nothing lands in a temp folder you have to clean up later. A document has two tabs:

Settings → General → Open captures on chooses which tab a new capture lands on. If you mostly want a quick arrow and out, leave it on Markup; if you mostly want a presentable image, set it to Compose.

Markup

The Markup tab is a full annotation canvas over your capture. Pick a tool from the toolbar, or press its key:

KeyToolNotes
VSelectMove, resize, and multi-select. Drag a marquee to select several at once.
RRectangleFilled or outlined.
OEllipse
AArrowChoose the head style at either end from the toolbar.
LLineSame arrowhead options as the arrow tool.
CCalloutA labeled bubble with a leader you can drag anywhere.
XCrossX, circled X, or a prohibition sign.
HCrosshairPoint at something precisely — and see the pixel loupe. The guide lines run the width and height of the image they're over, so they mark the shot rather than crossing the whole canvas.
TTextPlain text on the canvas.
NNoteA sticky note with a leader arrow. Styles: plain, critical, warning, success.

Working with what you've drawn:

Screenshot The Markup tab: toolbar across the top, a capture with arrows, a callout, and a colored note.
Markup, with the tool palette and color picker.

A blank canvas — the left-hand button at the bottom of the capture panel — shows an empty document. Paste an image into it with ⌘V and mark that up instead.

Loupe & crop

Pixel loupe

Select the Crosshair tool and hover over the image: a magnifier follows the pointer, showing the pixels under it and the exact color value. Handy for checking a hairline, a gradient edge, or a color you need to match.

While the loupe is up (click the canvas once so it has keyboard focus):

KeyWhat it does
1 / 2Loupe size — smaller or larger.
, / .Zoom out / zoom in.
PToggle the pixel grid (at 3× and above).

Crop

The Crop button in the toolbar opens a crop editor over the whole canvas. Drag out the region to keep and confirm. Everything on the canvas shifts with it, so annotations stay where they belong relative to the image. Crop is undoable like anything else.

Compose

The Compose tab takes the flattened Markup result and makes it presentable. The sidebar has two sections.

Canvas

ControlOptions
BackdropNone, a solid color, or your own image.
RatioAuto, or a fixed aspect the shot is letterboxed into.
PaddingNone, Snug, Roomy, Spacious.
CornerSharp, Soft, Round, or Window (matching macOS window corners).
EffectOff, Shadow, or Glow.

Text content

A Title and a Caption, drawn with the composition. Autofill writes both for you from what HotShot knows about the capture — the app and window it came from, the page and viewports it shot, the date. Edit whatever it suggests.

Screenshot The Compose tab: composed shot on a gradient backdrop with a title, chip-tile sidebar on the right.
Compose, with a color backdrop, roomy padding, and a soft shadow.

Exporting

From Compose you can:

Exporting flattens the annotations into the image. To keep them editable instead, save the document — see Saving & reopening.

Saving & reopening

A capture is a live document: the arrows, notes and callouts are still separate objects you can move, restyle or delete. Exporting a PNG flattens them permanently. Saving keeps them.

Save and Open sit at the right-hand end of the Markup toolbar. They're buttons rather than menu items because HotShot lives in the menu bar and has no menu of its own — so there's no File menu and no ⌘S.

ActionWhat it does
SaveWrites the document. The first time it asks where; after that it saves straight back to the same file.
Save AsHold — the button relabels itself — to write a copy. The document then follows the copy, so later saves go there.
OpenOpens a saved document in its own window. If it's already open, that window comes forward instead of opening a second copy.

Save is only available when there's something to write; it goes quiet once the document matches what's on disk.

Autosave

Once a document has been saved once, HotShot keeps it up to date on its own — changes are written a couple of seconds after you stop making them, and again when you close the window. You don't have to remember to save.

A capture you've never saved has nowhere to autosave to. Until you save it the first time, it behaves like any untitled scratch document: closing the window discards it. If a capture matters, save it once and autosave takes over from there.

The file

Documents are saved as .hotshot files. Each one holds the original capture at full resolution, every annotation, and your Compose styling — so reopening it puts you exactly where you left off, with everything still editable.

You can also start from the capture panel: the folder button at the bottom opens a saved document without needing one already on screen. Or double-click a .hotshot in the Finder — HotShot opens it whether or not it's already running.

Recording

Record Screen and Record Window take the same staging and delay options as the still captures. The recording is written to ~/Movies/HotShot/ as it goes.

Turn the Camera and Microphone switches on in the panel before you start — neither can be added to footage afterwards. Turning either on asks for permission if HotShot doesn't have it yet, and switches itself back off if you decline, so a switch is never left on over a device that can't actually record.

Stopping a recording

There are three ways to stop, depending on how you've got HotShot set up:

Review & trim

When a recording stops, a review window opens with the clip, a filmstrip, and a sidebar.

Screenshot The recording review window: player, filmstrip with trim handles, zoom track, canvas sidebar.
Recording review — trim on the left, canvas treatment on the right.

Zoom & cursor

Zoom spans

Under the filmstrip is a thin zoom track. Drag on it to create a span; drag the span to move it, or its ends to resize it; select it and delete to remove it. During a span the export zooms in and follows the pointer, which is what makes a long recording of small UI readable.

There is deliberately nothing to configure per span — every span zooms the same amount and tracks the cursor. Drag, and it works.

Synthetic cursor

With Settings → Recording → Draw a synthetic cursor on (it's on by default), HotShot suppresses the real pointer in the recording and draws its own instead: a clean cursor that stretches along its travel, squashes across it, and trails a short comet of ghosts when it moves fast. It settles to neutral around clicks and through drags, so a click still reads as crisp and a drag follows its real path.

Turn it off and you get the ordinary macOS pointer, exactly as recorded.

Camera & microphone

Both are off by default and neither ever blocks anything — if you never want a webcam bubble, you never have to grant camera access.

Both have quick switches in the capture panel as well as in Settings, because whether you're on camera is a decision you make when you hit record, not a preference you set once.

Browser extensions

HotShot's own web capture browses a page from scratch. The extensions exist for the one thing it can't reach: the page in your real browser — logged in, scrolled where you left it, forms filled, banner already dismissed. Click the extension and HotShot renders exactly that state.

Safari

The extension ships inside HotShot.app. Open Settings → Extensions → Safari → Open Safari Settings…, find HotShot in Safari's Extensions list, and tick it. Then click the HotShot button in Safari's toolbar on any page.

Chrome (and other Chromium browsers)

Install it from the Chrome Web Store — or open Settings → Extensions → Chrome → Get the Extension…, which opens the same listing. Works in Edge, Brave, Vivaldi and Arc too.

Chrome can't open a macOS URL directly, so HotShot installs a tiny helper alongside the app for the extension to talk to. That's automatic — nothing to configure.

Both extensions act only on the tab you invoke them from, only when you click them. They make no network connections of their own: the page goes from your browser to HotShot on the same Mac and nowhere else.

Copy Link uploads the finished file and puts a public URL on your clipboard. It works on stills and on recordings, and appears in three places: the Markup toolbar (the annotated shot, unstyled), the Compose toolbar (the composed image), and the recording review window (the trimmed, styled clip).

Choose the destination in Settings → General → Copy links with:

DestinationSetup
iCloud DriveNothing to do — it rides your Mac's iCloud account.
DropboxClick Connect… and sign in. HotShot gets its own app folder only, not the rest of your Dropbox.
Google DriveClick Connect… and sign in. HotShot can see only the files it created, nothing else in your Drive.
OneDriveClick Connect… and sign in. HotShot gets its own app folder only, not the rest of your OneDrive.

The file lands in your storage in every case. HotShot doesn't host anything, so there's no service of ours to go down and nothing of yours sitting on our disk. Disconnect removes the stored sign-in from your Keychain.

A shared link is public. Anyone with the URL can open it — that's what makes it shareable. HotShot warns you once before your first share. To revoke a link, delete the file from your own storage.

Sharing a recording

In the recording review window, Copy Link sits next to Export. It renders the clip exactly as Export would — same trim, same backdrop, padding, corners and effect — then uploads that and copies the link. The button reads Rendering… while it works, because encoding the clip is the slow part; the upload follows on its own.

Nothing is left behind on your Mac: the rendered clip goes to a temporary file that's deleted as soon as the upload finishes. If you want to keep a copy, use Export instead — or as well.

Size limits

A screenshot is a couple of megabytes; a recording can be hundreds. Each destination has a ceiling:

DestinationLargest fileWhy
iCloud Drive500 MBHotShot's own limit. The file counts against your iCloud storage.
Dropbox150 MBDropbox's own limit for a single upload.
Google Drive500 MBHotShot's own limit.
OneDrive250 MBMicrosoft's limit for a single upload.

Go over and HotShot tells you the size it came out at and the ceiling it hit, so you know how much to trim. Trimming the clip shorter is usually enough; if you want the whole thing, Export it and send the file.

The size is measured after rendering, because padding, a backdrop and an aspect ratio all change how big the clip ends up. That means an over-size clip is refused after the render rather than before it.

One difference worth knowing: a Google Drive video link opens Drive's own player page rather than the file directly, so the recipient can stream it instead of downloading the whole thing first. A Dropbox link points straight at the file, so the recipient sees the image itself. A Google Drive link opens Drive's preview page, which shows the image with Drive's chrome around it. An iCloud Drive link opens iCloud's download page — Apple's own page, which HotShot can't change; it previews in chat as a generic iCloud card rather than as your screenshot. If you want the recipient to just see the image, use Dropbox. OneDrive links don't preview inline in Slack and similar apps — Microsoft resolves a share link through several redirects before reaching the image, and link previewers give up before the end. The link works fine when clicked; it just shows as a plain URL rather than a thumbnail. If inline previews matter to you, use one of the other three destinations.

Settings

⌘, or the menu opens Settings, in four tabs:

TabWhat's in it
GeneralShow the menu-bar icon; whether clicking it opens the panel or a plain menu; which tab captures open on; the sharing destination and its connection.
ExtensionsJump to Safari's extension settings, and reveal the Chrome extension folder.
RecordingSynthetic cursor; camera on/off and device; microphone on/off and device.
AdvancedLicense, software updates, and how many recordings to keep on disk — with Reveal in Finder and Clear All.

The global keyboard shortcut that summons the capture panel is set here too; the shortcut's keys are drawn in the panel's own header, so it's always visible.

Updates

HotShot checks for updates automatically using Sparkle, and you can check any time via Settings → Advanced → Check for Updates…. Updates install in place.

License

HotShot runs fully unlocked for a seven-day trial — every feature, no watermark on anything you export. After the trial, HotShot reminds you to buy a license every other capture or recording. It still doesn't watermark your work or block an export; the reminder is the nudge.

Buy from Settings → Advanced → Buy a License…, and activate with Enter License…. Activation needs the internet briefly, then works offline. A key covers the Macs you personally use. Refunded or revoked keys stop working at the next background revalidation.