Free · Open source · MIT licensed

Click. Captured. Done.
So private it works with Wi-Fi off.

Full page, markup, export, tab recording — right in Chrome. No account, no watermark, no cloud.

Add to Chrome View on GitHub

The OpenScreenShot popup open over a web page in Chrome, with Full Page, Visible Area, Selected Region and Record options.

The site in these screenshots is OpenTechCheck, also by us — see what any website is built with. Try it now

  • Capture anything

    The whole page, the visible area, or a region you drag. One click, a shortcut, or the right-click menu.

  • Edit before you share

    Arrows, boxes and text to make your point. Blur for the parts nobody else should see.

  • Record the tab

    One click records, with auto zoom at every click. Trim on a timeline, then export WebM.

  • Private by default

    No account, no upload, no telemetry. It works with your Wi-Fi off.

Privacy

Nobody can see what you capture. Not even us.

Screenshots are often the most sensitive images on your machine. Capture, editing, export, PDF and recording all run in your browser. The extension makes no network request of its own, and it has no standing access to any site you visit.

Account
None
Upload
None
Telemetry
None
Watermark
None
Host permissions at install
None
License
MIT
What it asks for at install
Permission Why it is needed
activeTab Capture the tab you are looking at, when you click the toolbar button, press a keyboard shortcut, or pick a capture from the right-click menu. Access is granted for that one tab, for that one capture.
scripting Inject small, self-contained functions into the captured tab: measure the page height and scroll it during a full-page capture, draw the drag-to-select overlay for a region capture, and write an image to the clipboard in quick mode. Every script ships inside the package. No remote code is loaded.
storage and unlimitedStorage Keep your settings on the device, hold the capture the editor page loads, remember the last region rectangle so it can be repeated, and save an in-progress editing draft so a closed or crashed tab does not lose your annotations. A full-page screenshot can exceed the default storage quota, which is what unlimitedStorage raises.
downloads Save an export from the editor, or a quick-mode capture, to your downloads folder. The extension never reads, searches, or opens your download history.
contextMenus Add one OpenScreenShot submenu to the page right-click menu, as a second way to start a capture. The extension reads only which menu item you clicked.
clipboardWrite Copy a screenshot to your clipboard, from the editor’s Copy button or from quick mode. The extension only ever writes the screenshot you just captured or exported. It never reads what is already on your clipboard.
offscreen Run the screen-recording engine in a hidden document. MediaRecorder capture and the crash-safe IndexedDB chunk writes need a page context a service worker does not have. Always present; it adds no install-time warning.
What recording adds, only when you record
Permission Why it is needed When it is requested
tabCapture Captures the current tab’s video, and its audio if you enable the tab-audio track, for recording. Once, the first time you click Record — a single Chrome permission prompt.
<all_urls> The optional host permission. It keeps the in-page cursor overlay and control bar alive when a recording’s tab navigates to a different origin. Only if you turn on “Record across sites” in settings.

The microphone and camera, when you enable them, are opened by your browser’s own permission prompt. The stream never leaves your device.

The same tables, with the full policy, on the Privacy page.

Agents & CLI

Scriptable from your terminal. Still local.

openscreenshot on npm

  • A separate, optional tool for scripts and AI agents
  • Drives the Chrome already on your machine
  • No browser download, no hosted service
  • Also an MCP server, with a capture_screenshot tool

One screenshot

npx openscreenshot shot https://example.com --out shot.png --full

MCP client config

{ "command": "npx", "args": ["openscreenshot", "serve"] }

FAQ

Questions, answered.

Is my data sent to a server?

No. Zero data leaves your device. All capture, annotation, and export processing runs locally in your browser. The extension has no analytics, no telemetry, and no third-party services. See the Privacy Policy for details.

Does it work on chrome:// and extension pages?

No. Chrome blocks extensions from capturing chrome://, chrome-extension://, the Chrome Web Store, and about: pages. That block is a Chrome security rule, and no extension can lift it. The extension shows an error if you try.

Why does full-page capture take a few seconds?

Chrome limits captureVisibleTab to about 2 calls per second. Every viewport-height tile costs one call, plus a short pause for the page to repaint. A typical 10-tile page takes 5–6 seconds, and a longer page takes proportionally longer. The progress bar in the popup tells you where it is.

Can I skip the editor and copy or save a screenshot straight away?

Yes. The After capture row in the popup picks Editor, Clipboard, or Download. The setting applies to every entry point — the popup buttons, the keyboard shortcuts, and the right-click menu. Quick saves are written as PNG, and the toolbar badge is the confirmation since no tab opens.

Does PDF export bundle a heavy library?

No. PDF export runs on a small writer built into the extension (src/editor/pdf-writer.ts). It places each page’s image and compresses it with the browser’s own CompressionStream, so exporting a PDF makes no network request and adds no third-party code. Earlier versions used jsPDF, which pulled in html2canvas and dompurify for a feature the extension never called.

Can I change the keyboard shortcuts?

Yes. Open chrome://extensions/shortcuts, or use the Shortcuts link in the popup footer. The defaults are Ctrl+Shift+S for the full page, Alt+Shift+V for the visible area, and Ctrl+Shift+E for a region; on macOS they are ⌘⇧S, ⌘⇧V, and ⌘⇧E. Chrome may leave a command unbound if another extension already claims the combination.

Why does Chrome ask for tab capture access?

tabCapture is an optional permission, not one the extension asks for at install. Chrome shows the prompt once, the first time you click Record; every recording after that starts in one click, with no further prompt. Declaring it optional means it carries no install-time warning and never appears unless you actually start a recording.

Where are my recordings stored?

On your device, and nowhere else. Video chunks, the cursor log, and any mic or tab audio are written to IndexedDB as you record, in 1-second pieces, so a crash or a killed background page never loses the take. They stay there until you export or delete the session — nothing is ever uploaded.

Every question, plus the known limits, on the Support page.

Ready in ten seconds.

  1. Add it to Chrome

    One click on the Chrome Web Store. Free, and no sign-up.

  2. Click the icon

    Or press the shortcut. Pick full page, visible area, or a region.

  3. Capture

    Annotate, export, or copy. It never leaves your machine.

Add to Chrome

Works on Chrome, Edge, Brave, Arc and other Chromium browsers.