Skip to content

nickshatilo/snapper

Repository files navigation

Snapper

Open-source screenshot tool for macOS. Aims for local feature parity with CleanShot X — no cloud, no subscriptions.

macOS 14+ Swift License CI

Features

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 .snapper project 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.

Install

Download

Grab the latest .dmg from Releases.

Build from Source

Requires Xcode 16+ and XcodeGen.

brew install xcodegen
git clone https://github.com/nickshatilo/snapper.git
cd snapper
xcodegen generate
open Snapper.xcodeproj

Build and run the Snapper scheme.

Permissions

Snapper needs two permissions on first launch:

  1. Screen Recording — for capturing your screen
  2. Accessibility — for global hotkey registration

Default Shortcuts

Shortcut Action
⌘⇧3 Capture Fullscreen
⌘⇧4 Capture Area
⌘⇧4 → hover Capture Window
⌘⇧5 All-in-One Mode

All shortcuts are customizable in Settings → Shortcuts.

Contributing

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Run tests: xcodebuild test -scheme Snapper -destination 'platform=macOS'
  5. Open a PR

License

MIT

About

Open-source screenshot tool for macOS. Area, window, fullscreen, scrolling capture, OCR, annotation editor, and more.

Resources

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors