Open-source screenshot tool for macOS. Aims for local feature parity with CleanShot X — no cloud, no subscriptions.
Capture Modes
- Fullscreen — single display or all monitors
- Area Selection — crosshair with magnifier loupe, pixel coordinates, dimension overlay
- Window Capture — hover-to-highlight, configurable shadow and background
- All-in-One HUD — pick any mode from a single overlay (like ⌘⇧5)
- Scrolling Capture — auto-scroll and stitch long content
- OCR — select area, extract text on-device via Apple Vision (copied to clipboard)
- Self-Timer — 3/5/10 second countdown on any capture mode
Quick Access Overlay
- Floating thumbnail after every capture, persistent until dismissed
- Stack multiple captures, drag-and-drop into any app
- One-click copy, save, annotate, pin, or delete
Annotation Editor
- Arrow, rectangle, ellipse, line, pencil, highlighter, text, blur, pixelate, spotlight, counter, crop
- Background/mockup tool with gradient and solid color templates
- Non-destructive editing with
.snapperproject format - Undo/redo, keyboard shortcuts for every tool
Floating Screenshots
- Pin captures as always-on-top windows
- Resize, adjust opacity, lock (click-through mode)
- Persists across app restarts
History
- Local SQLite database via SwiftData
- Browse, search by OCR text, filter by capture type
- Configurable retention and storage location
Other
- Menu bar agent app (no dock icon)
- Global hotkeys via CGEvent taps (replaces ⌘⇧3/4/5)
- Fully customizable shortcuts with conflict detection
- Auto-updates via Sparkle
- Launch at login
Updates are delivered in-app through Sparkle. Snapper verifies both the signed appcast and update archive before installing, while macOS independently verifies the Developer ID signature and notarization.
Grab the latest .dmg from Releases.
Requires Xcode 16+ and XcodeGen.
brew install xcodegen
git clone https://github.com/nickshatilo/snapper.git
cd snapper
xcodegen generate
open Snapper.xcodeprojBuild and run the Snapper scheme.
Snapper needs two permissions on first launch:
- Screen Recording — for capturing your screen
- Accessibility — for global hotkey registration
| Shortcut | Action |
|---|---|
⌘⇧3 |
Capture Fullscreen |
⌘⇧4 |
Capture Area |
⌘⇧4 → hover |
Capture Window |
⌘⇧5 |
All-in-One Mode |
All shortcuts are customizable in Settings → Shortcuts.
- Fork the repo
- Create a feature branch
- Make your changes
- Run tests:
xcodebuild test -scheme Snapper -destination 'platform=macOS' - Open a PR
MIT