The extension
Frame, choose, annotate, paste.
One shortcut opens a frame on any page. What happens next — an image, a video, a copy to the clipboard — is decided in front of the framed region, because that is the only moment you know whether the subject moves.
Every screenshot on this page was taken by Gotcha's own command line, with the extension loaded into the session. The command is under each image; the extension's own dialog boxes are inside them.
Install
-
Add Gotcha from the Chrome Web Store. Chrome shows no “read and change all your data” warning: the manifest declares no host permission at all. The overlay is injected only after you press the shortcut, under
activeTab, and the grant ends with the tab. -
Pin the icon from the puzzle-piece menu, so the popup is one click away. The popup is a second door to the same frame, and remembers your last region.
-
Check the shortcuts at
chrome://extensions/shortcuts. Two keys are offered for the same action, because Chrome assigns a key only at install time and silently leaves it empty if another extension already holds it. One of the two being free is enough.
| Shortcut | Action |
|---|---|
| Alt+Shift+D | Capture a region |
| Alt+Shift+G | Capture a region (second shortcut) |
| Alt+Shift+S | Stop the recording, from anywhere |
On an AZERTY keyboard the letters stay where you read them: Chrome interprets extension shortcuts on the US layout, and D, G and S sit at the same place on both.
Frame a region
Press the shortcut. The page dims, and a panel tells you what remains to decide. Drag a rectangle with the mouse — or take the whole visible screen with Ctrl+A (⌘+A on macOS) and the button that carries it. Esc cancels at any point.
gotcha shot --step ".hint button:nth-of-type(1)" --step ".hint button:nth-of-type(2)"
1 Whole screen frames everything visible, ⏎ then confirms. 2 Eyedropper (I) picks the colour of a pixel and copies its hex code — a magnifier follows the pointer, arrow keys move one pixel at a time.
Once a frame exists, its eight handles resize it, and the dimensions are shown at its corner. A frame smaller than 24 × 24 pixels is refused with a message, rather than producing an unreadable capture.
The bar
Under the frame, a bar offers image and video as equals. The type you used last comes first, carries the accent colour and the ⏎ badge: Enter never does anything but what that badge says.
gotcha shot --step ".bar button[title=\"Capture an image\"]" --step ".bar button[title=\"Record a video\"]" \
--step ".bar button[title^=\"Copy the region\"]" --step ".bar button[aria-label^=\"Eyedropper\"]" \
--step ".bar button[aria-label=\"Frame the whole visible screen\"]" --step ".bar button[aria-label^=\"Delay before capture\"]"
gotcha shot --selector .bar --padding 24
Image. Takes the region and opens the editor. The image is already in your clipboard when the editor appears.
Video. Starts a recording of the region after a short countdown. See Record a video.
Copy (Ctrl+C, ⌘+C on macOS). The image goes to the clipboard without opening the editor, and the frame stays put: you can copy, then still press Enter for the editor, or Esc. Three signals confirm it — a flash on the region, the button turning green, and a banner. On a page that gives no clipboard access (an
http://address by IP, for instance), the editor takes over, copies, and closes itself.Eyedropper (I). The same colour picker as on the veil, for when you have already framed.
Whole screen (Ctrl+A). Replaces the frame with the whole visible viewport.
Delay — immediate, 3, 5 or 10 seconds. It applies to whichever button you press next, image, video or copy. During the countdown the overlay hands the page back to you: no veil, no captured mouse, no intercepted keys except Esc. Open the dropdown, hover the row, unfold the submenu — the capture fires with it open. Native menus (a
<select>, the context menu, autocomplete) are OS windows and never appear in any capture; anything built in HTML does.
On a touch screen
The frame is drawn with a finger as well — on a tablet, or in the device mode of Chrome's DevTools, which turns the mouse into a touch. A long press does not open the context menu, a second finger does not move the frame, and a gesture the system takes back (the palm, a system swipe) ends the frame instead of losing it.
One thing Chrome does that nothing here works around: a finger lifted while still moving makes Chrome compute a fling, and for about a second the first tap only serves to stop it — on Gotcha's bar as on any page. Lift the finger still, and the next tap lands.
The editor
The editor opens in its own tab. Tools on the left, colour and stroke at the top, format and delivery on the right. Each tool has a one-line tip on hover, and a key.
gotcha shot --step ".ed-tools .tool[aria-label^=\"Select\"]" --step ".ed-tools .tool[aria-label^=\"Text\"]" … \
--step ".ed-tools .tool[aria-label^=\"Eyedropper\"]" \
--rect .swatches --rect ".ed-panel .ebtn.primary" --rect ".ed-panel .ebtn:not(.primary)"
| Key | Tool | What it does |
|---|---|---|
| V | 1 Select | Pick an annotation back up: move it, resize it by its corner handle |
| T | 2 Text | Write on the image, readable on light or dark |
| P | 3 Pencil | Draw freehand |
| R | 4 Rectangle | Frame an area without hiding anything |
| O | 5 Ellipse | Circle a detail |
| A | 6 Arrow | Point at something precise, without covering it |
| B | 7 Blur | Permanently hide sensitive data — the pixels are destroyed, not covered |
| N | 8 Step number | Number the steps, in the order you click |
| C | 9 Region to copy | Deliver only a portion; the image itself stays untouched |
| I | 10 Eyedropper | Copy the hex colour of a pixel of the image |
| Ctrl+Z / Del | Undo (and Ctrl+Shift+Z redo), delete the selected annotation |
A freshly drawn shape stays selected: the next colour you pick applies to it, and its corner handle resizes it without switching tools. Six fixed hues plus a free picker, which remembers your last four choices.
gotcha shot --rect ".ed-panel .ebtn.primary" --text "Ctrl+C does the same|.ed-panel .ebtn.primary"
Copy puts the image, annotations included, in the clipboard; Ctrl+C does exactly the same. Save writes a PNG or JPG to your disk — it says Save, never Download, because the file never left your browser and the wording will not suggest it did. With a region drawn (C), both act on the region only.
The blur is destructive. It is not a filter drawn over the image that a curious recipient can peel off: once saved, the masked pixels are gone from the file. Go through it before any capture leaves your organisation.
Files are named Page title — screenshot — date time.png. The title comes first because it is the only part you read in a download list; the timestamp closes the name so a folder sorts chronologically.
Record a video
Choose Video in the bar. A countdown (3 seconds by default, adjustable in the settings) gives you time to place the mouse, then the region is recorded. Two things are designed so that the controls never enter your file:
- The recording controls sit outside the frame and are cropped away by the export. Tab capture films everything on the page, even elements at the highest z-index — so the stop and pause buttons live where the film is not.
- Alt+Shift+S stops from anywhere, including from another tab. You can navigate during a recording; the region and the trace follow.
A click halo marks every click in the recording — the one thing no screen capture shows, even where the pointer itself is filmed. The video editor then trims (S), crops to the region (C), plays and pauses (Space), and lets you place layers — boxes, arrows, numbered steps, text, blur — that start where the playhead is and, if you ask, follow the page when it scrolls. Export as MP4 (universal), WebM (the lightest) or GIF (shows up anywhere, no click; capped at 800 px wide and 12 frames per second so it stays attachable to a ticket).
Video recording is the one metered feature of the free version: three per day. See Licence & quotas.
The library
Every capture lands in a library kept on your machine, in the browser's own storage, and purged on the schedule you choose. Nothing is synced anywhere.
gotcha shot --step ".lib-grid .card:first-child .card-actions button:nth-child(1)" --step "… button:nth-child(2)" \
--step "… button:nth-child(3)" --rect .seg --rect .quota
1 Open reopens the capture in the editor, without touching your clipboard. 2 This region remembers the capture's frame: “Reuse the last region”, in the popup, lays it down again as is — enough to produce a consistent series of the same screen. 3 Delete asks once, then erases.
Settings
Right-click the icon and choose Options, or open the gear in the popup. Seven cards: language, capture, video, library, shortcuts, licence, feedback.
gotcha shot --selector .opt-card:nth-of-type(3) --padding 16
| Setting | What it decides |
|---|---|
| Interface language | Auto follows Chrome; English or Français on demand — many French speakers work in an English Chrome. |
| After an image capture | Open the editor, or copy and stop there. The image lands in the clipboard either way. |
| Countdown (video) | None to 10 seconds before a recording starts. Never appears in the video. |
| Click halo, Show cursor | The halo is on by default. Only draw the cursor if it is missing from your recordings: on many systems Chrome already films it. |
| Microphone, Tab sound | Comment out loud, or keep the page's own sound. Permission is asked when you turn it on, not at install. The sound of other applications cannot be captured. |
| Default format | GIF, MP4 or WebM for videos, changeable at every export. |
| Keep captures | How long the library holds them, and a button to purge now. |
| Licence | Paste a key, see what it unlocks. Details → |
| Feedback | Opens the feedback page in a new tab — a bug, a wish, a page that would not frame. The extension itself sends nothing. |
No setting for quality, frame rate or bitrate: those are choices the tool makes alone, so that nobody else has to.
Known limits
- Native browser menus never appear in a capture —
an open
<select>, the context menu, autocomplete. They are OS windows outside the tab's rendering. - System audio from other applications cannot be recorded. Tab capture only reaches the tab's own sound.
- A region taller than the visible viewport is refused for image capture, rather than silently truncated.
- After navigating to another origin during a recording,
the red frame and the cursor trace do not come back for that page:
Chrome revokes the
activeTabgrant, and the extension asks for no host permission. The recording itself continues. - The eyedropper reads a snapshot, taken when you enter the mode; an animation running under the pointer is not reflected.