OpenSnapper is an open-source macOS screenshot tool for clean captures, quick styling, and fast sharing.
OpenSnapper focuses on a practical workflow:
- Capture quickly.
- Apply layout/background styling.
- Save or copy instantly.
It is designed to stay lightweight, local-first, and scriptable for contributors.
- Select-area capture
- Whole-screen capture
- Screen color picker with live hover preview
- Recent picked colors in menu bar
- Drag-and-drop image import
- Clipboard paste and copy
- Background styles and solid color background
- Layout controls (aspect ratio, zoom, padding, radius, shadow)
- Menu bar quick actions for screenshot and color picker
- macOS 13 or later
- Swift 6.2 toolchain (or Xcode with compatible SwiftPM)
git clone <your-fork-or-repo-url>
cd opensnapper
swift run OpenSnapperRunning as an app bundle is recommended for Screen Recording permission flows.
./scripts/build-app.sh
./scripts/run-app.sh./scripts/build-app.sh
- Builds the executable
- Creates
dist/OpenSnapper.app - Generates
AppIcon.icns - Codesigns the app bundle
./scripts/run-app.sh
- Launches
dist/OpenSnapper.app - Leaves Screen Recording permission unchanged by default
Optional (local debugging only):
./scripts/run-app.sh --reset-screen-captureor:
RESET_SCREEN_CAPTURE=1 ./scripts/run-app.shDefault bundle identifier:
com.opensnapper.app
Override it for local variants:
BUNDLE_ID=com.yourname.opensnapper ./scripts/build-app.shSources/OpenSnapper
- SwiftUI app code and editor state
Resources
- App icons and static assets
scripts
- Build/run/dev helper scripts
dist
- Generated app bundle output (ignored in git)
See CONTRIBUTING.md.
MIT License. See LICENSE.
