Native macOS screenshots, recording, annotation, and editing from the menu bar.
Built with SwiftUI, AppKit, ScreenCaptureKit, Vision, and Sparkle.
Features • Install • Build from source • Documentation • Security • Contributing
- Screenshot: fullscreen or selected-area capture, scrolling capture with live stitched preview, OCR text extraction, transparent object cutout capture with optional safe auto-crop, window shadow capture (macOS 14+), multi-format export (PNG/JPG/WebP), hide desktop icons/widgets, quick screenshot during recording
- Screen Recording: video or GIF output, system audio + microphone, mouse click highlights, keystroke overlays, live on-screen annotations, remember last area, GIF resizing, Smart Camera metadata for Follow Mouse edits
- Annotation Editor: shapes, arrows, text, filled rectangles, blur/pixelate, counters, crop, remove background with crop-aware auto-crop support, mockup backgrounds with 3D renderer, zoom/pan (pinch + keyboard), drag-to-app, configurable tool shortcuts
- After Capture Settings: per-mode action matrix for save, Quick Access, clipboard copy, and annotate plus a separate global remove-background auto-crop toggle (enabled by default)
- Video Editor: trim with visual timeline + frame strip, zoom segments with auto-focus (Follow Mouse), wallpaper backgrounds + padding, custom export dimensions, animated GIF viewer, undo/redo
- Quick Access: floating panel after every capture with copy, edit, drag-to-app, open, and delete actions
- Shortcuts: fully configurable global shortcuts for capture, recording, and annotation tools, with per-shortcut on/off control and system conflict detection
- Onboarding: splash screen, guided permissions setup, and shortcut configuration for first-time users
- Cloud Upload: privacy-first bring-your-own-storage via AWS S3 or Cloudflare R2 — no third-party servers, manual upload from Quick Access or Annotate, credentials stored in the macOS Keychain with optional password protection, manual encrypted credential import/export for faster setup on another Mac, upload history, configurable auto-expiration (1–90 days or permanent), lifecycle rules, custom domain support
- Updates & Diagnostics: in-app updates via Sparkle, crash reporting, cache management
- Platform: menu-bar app, appearance theming (light/dark/system), App Sandbox with secure file-access bookmarks
Requires macOS 13.0 or later.
brew tap duongductrong/snapzy https://github.com/duongductrong/Snapzy
brew install --cask snapzy# Install a specific version
curl -fsSL https://raw.githubusercontent.com/duongductrong/Snapzy/v1.6.1/install.sh | bash- Go to Releases
- Download the latest packaged app asset, typically
Snapzy-v<version>.dmg - Move
Snapzy.appto/Applications - Launch Snapzy
- Grant Screen Recording permission when prompted in System Settings
- Re-launch Snapzy after granting Screen Recording if macOS asks for it
- Grant Microphone permission too if you want voice input in recordings
To completely remove Snapzy, reset all permissions, and clean up app data:
curl -fsSL https://raw.githubusercontent.com/duongductrong/Snapzy/master/uninstall.sh | bashOr if you cloned the repo:
./uninstall.shThis will remove the app from /Applications, delete preferences and caches, and reset TCC permissions (Screen Recording, Microphone, Accessibility). You may need to log out or reboot for permission changes to fully take effect.
Requires Xcode 15.0+ and Command Line Tools (
xcode-select --install).
- Clone the repository:
git clone https://github.com/duongductrong/Snapzy.git
cd Snapzy- Open the project:
open Snapzy.xcodeproj- Build and run with
Cmd+R
You can also build from the terminal:
xcodebuild -project Snapzy.xcodeproj -scheme Snapzy -configuration Debug buildFor release packaging details, see docs/project-build.md.
- Ask DeepWiki (interactive docs assistant)
- Docs map for humans and agents
- Project structure and runtime architecture
- Capture, recording, and editing flows
- Project build guide
- Release and update workflow
- Local Sparkle update testing
Snapzy runs inside the macOS App Sandbox with minimal entitlements. Network requests are limited to Sparkle update checks and user-initiated cloud uploads to your own S3/R2 bucket — no data is ever sent to third-party servers. Cloud credentials are stored exclusively in the macOS Keychain, can be further protected with an optional password (SHA-256 hashed, never stored in plaintext), and can only be transferred via a manual encrypted export/import flow protected by a user-supplied archive passphrase. Snapzy collects no telemetry.
To report a vulnerability, please use a GitHub Security Advisory or contact the maintainer privately. See SECURITY.md for full details.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request.
BSD 3-Clause License. See LICENSE.