Install · Capture · Annotate · Export
Documentation
How to install and use OpenScreenShot, the open-source screenshot and annotation extension for Chrome.
Start with your task
- Capture a full webpage, save a screenshot as PDF, or redact private information.
- Use the screenshot CLI, connect an MCP client, or capture CI review artifacts.
The reference below covers the Chrome extension. The Firefox source build supports screenshots and export; tab recording is Chrome-only. See the Firefox release guide for installation and release status.
Install
OpenScreenShot is available on the Chrome Web Store.
- Open the OpenScreenShot listing in Chrome.
- Click Add to Chrome.
- Accept the permissions. The extension needs the active tab and permission to run its capture script there.
- Pin the OpenScreenShot icon to your toolbar. By default, clicking it starts a full-page capture. Right-click the icon for other capture modes and Settings.
Capture a screenshot
Click the OpenScreenShot icon in your toolbar and the full page capture starts — no menu in the way. Everything runs locally in your browser. There are four ways to start a capture:
- The toolbar icon — one click captures the full page. Turn One-click Express mode off in settings to get the mode picker popup back; right-click the icon for the other modes and settings.
- A keyboard shortcut — Ctrl+Shift+S for the full page, Alt+Shift+V for the visible area, Ctrl+Shift+E for a region. On macOS these are ⌘⇧S, ⌥⇧V, and ⌘⇧E. Capture element has no default key. Set or change any of them at
chrome://extensions/shortcuts. - The right-click menu — the OpenScreenShot submenu on any page offers the same four modes and Settings.
- Repeat region — the popup footer and the right-click menu re-capture the last region rectangle. Both items appear once you have selected a region.
The Delay row in the popup holds a capture for 3, 5, or 10 seconds, and the toolbar badge counts down. Use it for hover states, dropdown menus, and tooltips that close the moment you click somewhere else.
Capture modes
Full Page
Captures the entire scrolling page and stitches it into one image. The extension scrolls the page viewport by viewport, captures each tile, and composites them together. Fixed headers are captured on the first tile and composited once at the top. Pages that scroll an inner element instead of the window work too. A page taller than one image (32,000 device pixels) is saved as up to six images: Download names each part, and Editor or Clipboard opens each part in its own editor tab.
Visible Area
Captures the current viewport instantly. No scrolling. Use this for a quick screenshot of what is on screen right now.
Selected Region
Click and drag to draw a rectangle. Resize handles appear on each edge and corner. Use the arrow keys to nudge the selection by one pixel at a time, or hold Shift to move it ten pixels at a time. Press Enter to confirm or Esc to cancel.
Element
Hover over the page to select a card, chart, table, image, or other element, then click or press Enter to capture exactly its bounds. ↑ selects the parent element, ↓ the child, and ←/→ the neighbors. If the element is not fully visible, the picker offers a full-page capture instead.
After a capture
The After capture row in the popup picks what a finished capture does. It applies to every entry point: the popup buttons, the keyboard shortcuts, and the right-click menu.
- Editor — open the annotation editor in a new tab. This is the default.
- Clipboard — copy the screenshot and skip the editor. Paste it straight into a chat, a document, or an issue.
- Download — save the screenshot to your downloads folder and skip the editor. Quick saves are written as PNG.
Clipboard and Download open no tab, so the toolbar badge is the confirmation. A failed capture flashes ! on the badge. Reopen last in the popup footer opens the most recent capture in the editor at any time.
Annotate
The editor opens in a full tab and loads the most recent capture from local storage. Each tool has a one-letter shortcut.
- Select V — move, resize, or delete any annotation. Double-click a text layer to re-edit it.
- Shape R — draw a rectangle, rounded rectangle, oval, or triangle. Fill sets none or a solid fill in the stroke color; hold Shift for equal sides, so an oval becomes a circle.
- Arrow A — draw a directional arrow with a filled, open, double, or dot tip. Drag the round middle handle to bend it into a curve.
- Line L — the arrow without a head.
- Pen P — freehand drawing.
- Highlighter H — a translucent freehand stroke.
- Text T — add a text box, sized by the font-size control.
- Step number S — numbered badges that count up on their own, and renumber when you delete one.
- Blur B — hide sensitive content as a soft blur, a coarse mosaic, or an opaque fill. The opaque fill survives recompression.
- Spotlight O — rectangle, rounded rectangle, or ellipse cut-outs that merge into one dim layer.
- Eyedropper I — take a color from the capture. It samples what you see, so a color inside a spotlight or on a beautify gradient picks as it looks. The swatch button on the color row opens Chrome’s screen-wide picker for anything outside the canvas.
- Crop C — trim the image to a selected area.
- Cut X — mark horizontal bands on a long capture and remove them, with a live preview.
Hold Shift while you draw for square shapes and 45° lines and arrows. The style bar carries an 8-color palette on 1–8, a custom color, recent colors, four stroke widths that scale with the capture size, and a font-size control. Your choices are remembered across sessions. Drag tools on the rail to put your favorites first, or move the focused tool with Alt+↑ / Alt+↓. Undo and redo are Ctrl+Z / Ctrl+Shift+Z, or ⌘Z / ⌘⇧Z on macOS.
Frame
The Frame panel in the top bar frames the screenshot for sharing: a Preset, plus Spacing, Corners, and Shadow sliders and a Background of six gradients, a custom solid color, or transparency. The frame previews live and travels into every export, the clipboard, and PDF.
Annotate an image you already have
Drop an image file onto the editor stage, or paste one with Ctrl+V / ⌘V outside a text field. The import takes the same seat a capture takes, so every tool, the beautify frame, and every export path keep working, and the top bar reads Imported. Importing replaces the canvas, so the editor asks first when there are annotations to lose.
Export
Click Save image in the top bar of the editor, or press Ctrl+S / ⌘S, to open the Export dialog. Beside it, Copy puts a PNG on the clipboard and PDF saves a PDF in one click. In the dialog, choose a format:
- PNG — lossless, keeps transparency.
- JPEG — smaller files, adjustable quality.
- WebP — adjustable quality like JPEG, transparency like PNG.
- PDF — export as a single image page, fit to A4/Letter, or split across multiple pages with a 5mm overlap so content is not cut mid-line.
Scale exports at 25, 50, 100, or 200 %, or at an exact pixel width. It is hidden for PDF, which sizes to the page instead. A size past Chrome’s canvas limit is refused rather than written as an empty file.
Ctrl+C / ⌘C copies the finished image straight to the clipboard. The export dialog can also save its current settings as your new defaults.
Record a tab
Tab recording is supported in the Chrome build; the Firefox build currently supports screenshots only. Click Record in the popup to open the recording tab beside your page. Once a recording is running, press Alt+Shift+X to stop it from any tab. The first time you record, Chrome shows one permission prompt for tab capture.
Start a recording
The recording tab shows a picture of your page and a live view of your camera. Turn on Mic, Tab audio, or Webcam there; your browser’s own permission prompt appears in that tab. Drag across the picture to record only part of the page, or keep Whole tab. Click Start recording, and OpenScreenShot switches to your page.
If a recording navigates to a different site, click tracking needs the optional “Record across sites” permission (see Settings) to follow it there. Without that permission the toolbar badge turns amber, and zoom and click effects stop for the rest of the video. The video itself keeps recording.
The recording tab
While you record, the recording tab holds a timer and Pause/Resume, Stop, and Cancel buttons. Nothing is added to the page you record, so no controls appear in the video. Come back to the tab to stop, or press Alt+Shift+X. When you stop, the same tab opens the editor.
The webcam joins the export as a round bubble that you place in the editor, and the editor crops the video to the area you picked.
The editor
Stop opens the recording editor on a timeline of your take. The editor adds a smooth 2x zoom at every click your cursor made — adjust or delete any of those, or add your own manual zoom blocks at 1.5x, 2x, or 3x. Trim the start or end of any segment by dragging its handles. Click ripples mark where you clicked, and the webcam bubble, Beautify frame, and mic/tab-audio volume sliders live in the side panel. Show cursor draws a smooth pointer that follows your recorded cursor path; turn it off in the settings rail.
Export
Export re-renders the take through canvas, mixing in the tracks and effects you set, and downloads an MP4 file (H.264 and AAC) by default, or WebM from the picker beside the button. MP4 is limited to 4096×2304, so a larger tab is scaled down to fit. Browsers without MP4 recording export WebM only.
Drafts
Your edits are saved locally as you work. If the editor tab closes or crashes, the next editor tab offers the draft back. Restoring is always a click, so a stale draft never replaces a capture you meant to start fresh. A cropped image gets its own draft, so annotations never restore against the wrong picture.
Keyboard shortcuts
Press ? in the editor for the full sheet. Beyond the tool letters above:
- 1–8 — set the annotation color.
- Ctrl+C / ⌘C — copy to the clipboard.
- Ctrl+S / ⌘S — export.
- Backspace — delete the selected annotation.
- Esc — deselect, or cancel a crop.
- Ctrl / ⌘ with +, −, or 0 — zoom in, zoom out, actual size. F fits to the screen.
- Space + drag — pan the canvas.
Alt+Shift+X stops the current recording from anywhere — it does not need the editor or the popup open.
Settings
Open the gear icon in the popup to set:
- Theme — light, dark, or system.
- Default format — PNG, JPEG, WebP, or PDF.
- Quality — for JPEG, WebP, and PDF.
- Filename template — click a token chip to insert
{date},{time},{title},{domain},{w}, or{h}. A live preview shows the result. Add/to save into a folder inside Downloads, for exampleScreenshots/{title}.
Settings live in local storage on this device. Reset to defaults at the bottom of the panel takes two clicks.
Record across sites — off by default. Turning it on requests the optional <all_urls> host permission, so click tracking can follow a tab that navigates to a new site mid-recording.
Agents & CLI
openscreenshot is a separate, optional CLI and MCP server. It launches a fresh headless Chrome-compatible browser on your machine; it does not reuse your open tabs, cookies, or signed-in browser profile. Install Node.js, pnpm, and Chrome first. Set CHROME_PATH if the browser cannot be found automatically.
pnpm dlx openscreenshot shot https://example.com --out shot.png --full
As an MCP server, add this to your MCP client config:
{ "command": "pnpm", "args": ["dlx", "openscreenshot"] }
Then call capture_screenshot with { "url": "https://example.com" }. Optional inputs are fullPage (default false), width (200–3840, default 1280), height (200–2160, default 800), and redact, which covers CSS selectors, text patterns (email, phone, secret), and pixel rects with black boxes before the screenshot. The tool returns PNG image content to your client. A client using a hosted model may send that image to its provider; use redact for data that must not leave the device, and review the client’s data settings.
Privacy
OpenScreenShot processes everything locally in your browser. Captures are stored in Chrome local storage and are not uploaded to any server. Recordings, cursor logs, and mic/webcam streams stay in IndexedDB on your device until you delete them. The extension has no analytics, no telemetry, and no third-party services.
See the Privacy Policy for the full details.
Get help
See the Support & FAQ page for common questions and known limitations. If you need more help, open an issue on GitHub.
Install OpenScreenShot
Free, open-source, and private. Available on the Chrome Web Store.