Gotcha

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

  1. 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.

  2. 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.

  3. 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.

ShortcutAction
Alt+Shift+DCapture a region
Alt+Shift+GCapture a region (second shortcut)
Alt+Shift+SStop 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.

A dimmed payments dashboard with a dark panel in the middle: “Drag to frame the region — Image or video is chosen next — Esc to cancel”, and two buttons, Whole screen (1) and Eyedropper (2).
The veil, before any frame. 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.

The dashboard with a region framed in cyan and, above it, a dark bar with six numbered buttons: Image, Video, Copy Ctrl+C, an eyedropper, an expand icon and a delay picker reading Immediate.
Six buttons, and every one of them found by CSS selector. 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\"]"
Close-up of the bar: Image with an Enter badge, Video, Copy with a Ctrl+C badge, eyedropper, whole-screen icon, Immediate with a caret, and a close cross.
gotcha shot --selector .bar --padding 24
  1. Image. Takes the region and opens the editor. The image is already in your clipboard when the editor appears.

  2. Video. Starts a recording of the region after a short countdown. See Record a video.

  3. 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.

  4. Eyedropper (I). The same colour picker as on the veil, for when you have already framed.

  5. Whole screen (Ctrl+A). Replaces the frame with the whole visible viewport.

  6. 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.

The Gotcha editor showing the captured dashboard. Ten numbered badges run down the tool palette on the left; red boxes frame the colour swatches at the top and the Copy and Save buttons at the bottom right.
Ten tools, numbered by selector on their accessible names. 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)"
KeyToolWhat it does
V1 SelectPick an annotation back up: move it, resize it by its corner handle
T2 TextWrite on the image, readable on light or dark
P3 PencilDraw freehand
R4 RectangleFrame an area without hiding anything
O5 EllipseCircle a detail
A6 ArrowPoint at something precise, without covering it
B7 BlurPermanently hide sensitive data — the pixels are destroyed, not covered
N8 Step numberNumber the steps, in the order you click
C9 Region to copyDeliver only a portion; the image itself stays untouched
I10 EyedropperCopy the hex colour of a pixel of the image
Ctrl+Z / DelUndo (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.

The same editor after work: two email addresses blurred, three KPI cards numbered 1 to 3, the Failed payments card framed in red, and a label “Ctrl+C does the same” above the Copy button.
Blurred, numbered, framed — and the button that delivers it. 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.

The library: four thumbnails of dashboard captures, one marked EDITED. Under the first, three numbered buttons Open, This region and Delete. A red box frames the All / Images / Videos filter, another frames the storage gauge reading 846 KB / 500 MB, Purge after 30 d.
Four captures, three actions each. 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.

The Capture settings card: After an image capture (Open the editor), Countdown (video) (3 seconds), and a note that the delay before an image is chosen in the bar under the framed region.
gotcha shot --selector .opt-card:nth-of-type(3) --padding 16
SettingWhat it decides
Interface languageAuto follows Chrome; English or Français on demand — many French speakers work in an English Chrome.
After an image captureOpen 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 cursorThe 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 soundComment 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 formatGIF, MP4 or WebM for videos, changeable at every export.
Keep capturesHow long the library holds them, and a button to purge now.
LicencePaste a key, see what it unlocks. Details →
FeedbackOpens 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 activeTab grant, 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.