"A lightweight, reliable Chrome extension
to capture pixel-perfect screenshots of any HTML element."
Unlike other extensions that re-render HTML to an image (often breaking styles), Element Snap takes a screenshot of the visible page. This guarantees that what you see is exactly what you get.
This approach is:
- Reliable: Preserves 100% of the element's styling, layout, and fonts.
- Lightweight: Built with zero libraries-, just vanilla JavaScript and the Chrome API for maximum speed.
Note: For elements within the viewport, a direct screenshot is taken. For larger elements, multiple screenshots are automatically stitched together.
- Pixel-Perfect Capture: Get a flawless image of any hovered element, including elements larger than the viewport.
- Full Element Capture: Automatically detects oversized elements and stitches multiple screenshots seamlessly.
- Live Padding Controls: Add uniform or per-side padding with a real-time preview.
- Capture Margin: Include real page pixels around the element for context.
- Flexible Output: Save as PNG, JPG, WEBP, or SVG. Adjust quality for lossy formats.
- Rounded Corners: Apply standard or squircle (smooth, iOS-like) corner rounding to exports.
- Theme Support: Light, Dark, or System theme with automatic detection.
- Element Hiding: Temporarily hide surrounding elements with a keypress (
H) for a clean shot. - Dim Mode: Reduce overlay opacity for better visibility of underlying content.
- Keyboard Shortcuts: Capture (
Ctrl/Cmd+Click), lock focus (L), restore hidden elements (R), and more.
- Activate: Click the extension icon in your toolbar to turn it on for the current tab.
- Hover: Move your mouse to highlight the desired element.
- Adjust: Use the floating panel to change padding, format, and other settings.
- Capture:
Ctrl/Cmd + Clickthe element or press the "Capture" button.
1. From Chrome Web Store (Recommended)
2. From Source
- Clone this repository:
git clone https://github.com/jonasfroeller/element-snap.git - Open Chrome and navigate to
chrome://extensions. - Enable "Developer mode" in the top-right corner.
- Click "Load unpacked" and select the cloned repository folder.
- Uses
activeTabandscriptingto inject the UI only on demand when you click the extension action. - Uses
tabs.captureVisibleTabto screenshot the visible area of the current window; no network transmission occurs. - Uses
storage.syncto save UI preferences (padding, format, etc.). - Uses
downloadsto save images to your device without additional prompts.
No analytics, tracking, or external requests. All processing happens locally in your browser.
This project is licensed under the GPLv3 License. See the LICENSE file for details.
Copyright © 2025 Jonas Fröller




