Snap to the element.
Annotate in place.
Most screenshot tools make you draw rectangles by hand and never quite line them up with the button you meant to highlight. This one reads the page's DOM and generates a clean shape fitted to the real bounds of whatever you hover. One click. Pixel-perfect.
Why I built this
I write a lot of bug reports and product feedback. Every time, the workflow was the same: take a screenshot, paste it into an editor, carefully draw a rectangle around the button I wanted to highlight, realise it's a few pixels off, undo, redraw, redo. Repeat for every annotation on every screenshot.
The rectangles never quite lined up with the actual UI element. Edges were fuzzy. Circles looked hand-drawn — because they were.
So I built this. When you hover an element, the extension reads its getBoundingClientRect and generates a clean annotation fitted to those exact bounds. No hand-drawing, no undo-redo.
What it does
Beyond element-snapping, the extension has the usual annotation toolkit plus a few things I missed in other tools.
-
Twelve annotation tools
Rectangle, ellipse, line, arrow (auto-straightens), highlight marker, text with font control, numbered steps that auto-renumber, stamps, mosaic and zoom-in-place.
-
Zoom-in-place callouts
Select a region — the tool auto-trims empty margins and magnifies the content in place. Useful for tutorials highlighting a tiny UI detail.
-
Mosaic & redaction
Pixelate, blur or black-bar any region to redact passwords, API keys, emails or faces.
-
Text extraction
Pull readable text from any screenshot to your clipboard in one click. The text comes from the live DOM, not an OCR pass — so it's exact, not approximate.
-
PNG / JPG / PDF + auto-copy
Download in three formats, add background presets, customise padding and rounded corners. When you close the editor, the result is already on your clipboard.
How it works
-
i
Capture
Press
Alt+Afor the visible area,Alt+Cto drag a region, or right-click the page and choose Free region capture. -
ii
Annotate
The editor opens in-place on the page — no new tab, no leaving your workflow. Hover any element to highlight it, click to drop a fitted shape. Or draw freely on empty space.
-
iii
Export
Close the editor — the result is already on your clipboard. Or download as PNG, JPG or PDF.
How it compares
An honest side-by-side. Other tools are good — this one just does element-snapping, which they don't.
| Screenshot Annotation | Lightshot | Awesome Screenshot | Snagit | |
|---|---|---|---|---|
| Snap to real DOM elements | Yes — core | Hand-drawn | Hand-drawn | Hand-drawn |
| In-page editor | Yes | Desktop app | New tab | Desktop app |
| Text extraction | Yes (DOM) | — | — | Yes (OCR) |
| Zoom-in-place | Yes | — | — | Manual |
| Numbered auto-renumber | Yes | — | — | Manual |
| Free | Fully | Free | Freemium | $49.99+ |
| No tracking / analytics | Zero requests | Has analytics | Has analytics | Has analytics |
| Full-page capture | On roadmap | — | Yes | Yes |
| Video recording | Not planned | — | Yes | Yes |
Reflects features on each tool's site as of August 2026. Email me if anything's inaccurate.
Specs
- Browser
- Chrome MV3 · also Edge, Brave, Arc
- Operating system
- Win / macOS / Linux / ChromeOS
- Package size
- 316 KB
- Permissions
- activeTab · scripting · storage · unlimitedStorage · contextMenus
- Network requests
- 0
- Languages
- English · 中文
- Capture shortcuts
- Alt+A (visible) · Alt+C (region)
- Min Chrome
- 88+
See privacy policy for what each permission does — and what the extension does not do.
Questions I get
Is it really free? What's the catch?
Yes. No paid tiers, no premium version, no in-app purchases, no account. I built this for myself and pay $0/month to run it — there's no backend.
Does it send my screenshots anywhere?
No. The extension makes zero network requests. Everything happens locally; screenshots never leave your device. You can verify this yourself in the network tab during a capture.
Why does it need those permissions?
Five permissions, all scoped to the screenshot flow: activeTab captures the tab, scripting reads element positions, storage remembers your preferences, unlimitedStorage handles high-DPI screenshots that exceed Chrome's 5 MB default, and contextMenus adds the right-click "Free region capture" item. No history, no cookies, no webRequest.
Does it work in Edge, Brave or Arc?
Yes — any Chromium browser that supports Chrome extensions. Install directly from the Chrome Web Store.
Mac and Windows?
Both. On macOS, Option (⌥) replaces Alt in the shortcuts.
Why doesn't it work on chrome:// pages?
Chrome blocks all extensions from its internal pages (chrome://, the Web Store, settings). This is a platform limit, not a bug.
Can it capture full pages or scroll?
Not yet. Currently it captures the visible viewport or a dragged region. Full-page capture is on the roadmap.
How do I report a bug?
Email virgil1126@gmail.com. I read everything and usually reply within 48 hours.
Roadmap & limits
What's done, what's coming, and what this extension won't do — even if you ask.
Done
- ✓Multi-format export (PNG / JPG / PDF)
- ✓Text extraction from DOM
- ✓Bilingual UI (English + 中文)
- ✓Auto-copy on editor close
- ✓Origin validation for security
Next
- →Full-page / scrolling capture
- →Delayed capture (countdown timer)
- →More languages (Spanish, Japanese, German)
- →Custom keyboard shortcut remapping
Maybe
- ?Cloud sync of preferences (opt-in only)
- ?Annotation templates
- ?Team shared color palettes
Won't do
- ✕Video / screen recording
- ✕Account system
- ✕Paid tiers or in-app purchases
- ✕Telemetry or usage analytics
Who's behind this
Virgil
independent developer · single maintainerI'm a software engineer who got tired of hand-drawing screenshot annotations. This is the tool I wished existed — small, fast, private, focused on one job.
Not a company. Not VC-funded. No team, no roadmap meetings, no growth team. Just me, fixing bugs and shipping updates when something needs fixing.