An open-source alternative to CleanShot X for macOS. Capture, edit, and enhance your screenshots with professional quality.
Better Shot is a fast, lightweight screenshot tool built with Tauri and React. It provides a powerful yet simple interface for capturing screenshots, editing them with beautiful backgrounds and effects, and sharing them instantly.
- Region Capture - Select any area of your screen with pixel-perfect precision (
⌘⇧2) - Fullscreen Capture - Capture your entire screen instantly (
⌘⇧F) - Window Capture - Capture a specific window with one click (
⌘⇧D)
- Background Library - Choose from curated wallpapers, Mac assets, and mesh patterns
- Custom Backgrounds - Solid colors, gradients, or transparent checkerboard
- Visual Effects - Adjustable blur and noise for professional polish
- Shadow Effects - Add depth with customizable shadows (blur, offset, opacity)
- Border Radius - Control image roundness for modern aesthetics
- High-Quality Export - Export at maximum quality for presentations and documentation
- Drawing Tools - Circle, rectangle, line, and arrow annotations
- Text Annotations - Add customizable text with adjustable font size
- Number Labels - Auto-incrementing numbered badges for step-by-step guides
- Customizable Properties - Full control over colors, opacity, borders, and alignment
- Interactive Editing - Select, move, and delete annotations with mouse or keyboard
- Professional Styling - Fine-tune fill colors, border widths, and opacity for each annotation
- Global Hotkeys - Capture from anywhere, even when the app is hidden
- Customizable Shortcuts - Configure your own keyboard shortcuts in Preferences
- Auto-apply Background - Instantly apply default background with shadow effects and save without opening editor
- Clipboard Integration - Automatically copy screenshots to clipboard
- Custom Save Directory - Choose where your screenshots are saved (defaults to Desktop)
- Settings Persistence - All preferences are saved and restored automatically
- System Tray Integration - Access from the menu bar
- Native Performance - Built with Rust and Tauri for minimal resource usage
- General Settings - Configure save directory and clipboard behavior
- Default Background - Set a default background for auto-apply mode
- Keyboard Shortcuts - Customize capture shortcuts with enable/disable toggles
- 100% Free & Open Source - No subscriptions, no paywalls
- Lightweight - Minimal resource usage compared to Electron apps
- Beautiful UI - Modern, dark-themed interface
- Privacy First - All processing happens locally, no cloud uploads
- Fast - Native performance with Rust backend
-
Go to Releases
-
Download the appropriate DMG file:
- Apple Silicon (M1, M2, M3):
bettershot_*_aarch64.dmg - Intel Mac:
bettershot_*_x64.dmg
- Apple Silicon (M1, M2, M3):
-
Open the DMG and drag Better Shot to Applications
-
First Launch:
Terminal Method** (One command, no dialogs) (recommended)
xattr -d com.apple.quarantine /Applications/bettershot.app
-
Grant Screen Recording permission when prompted
Note: Better Shot is ad-hoc signed (free indie app). macOS Gatekeeper shows a warning for apps not notarized through Apple's $99/year developer program. The app is safe - you can view the source code and build it yourself.
# Clone the repository
git clone https://github.com/KartikLabhshetwar/better-shot.git
cd better-shot
# Install dependencies
pnpm install
# Build the application
pnpm tauri buildThe installer will be located in src-tauri/target/release/bundle/
- macOS: 10.15 or later
- Node.js: 18 or higher
- pnpm: Latest version
- Rust: Latest stable version (for building from source)
On first launch, macOS will request Screen Recording permission:
- Go to System Settings → Privacy & Security → Screen Recording
- Enable Better Shot
- Restart the application if needed
This permission is required for the app to capture screenshots of your screen.
- Launch the app - Open Better Shot from Applications or use the menu bar icon
- Capture - Use global hotkeys (
⌘⇧2,⌘⇧F, or⌘⇧D) or click buttons in the app - Select - For region capture, click and drag to select the area
- Edit - Add backgrounds, effects, blur, shadows, and adjust border radius
- Annotate - Use the annotation toolbar to add shapes, arrows, text, and numbered labels
- Customize - Select any annotation to adjust colors, opacity, borders, and other properties
- Export - Press
⌘Sto save or⌘⇧Cto copy to clipboard
For faster workflows, enable Auto-apply background on the main screen:
- Toggle on "Auto-apply background" on the main page
- Set your preferred default background in Preferences
- Capture a screenshot - it will automatically apply the background and save instantly
- No editor needed - perfect for quick captures with consistent styling
The homepage displays a comprehensive keyboard shortcuts reference, organized into Capture and Editor sections. Capture shortcuts are customizable in Preferences.
| Action | Default Shortcut |
|---|---|
| Capture Region | ⌘⇧2 |
| Capture Fullscreen | ⌘⇧F |
| Capture Window | ⌘⇧D |
| Cancel Selection | Esc |
| Action | Shortcut |
|---|---|
| Save Image | ⌘S |
| Copy to Clipboard | ⇧⌘C |
| Undo | ⌘Z |
| Redo | ⇧⌘Z |
| Delete Annotation | Delete or Backspace |
| Close Editor | Esc |
- Capture: Use global hotkeys from anywhere or click buttons in the app
- Select: For region capture, click and drag to select the area you want
- Edit: Customize with backgrounds, gradients, blur effects, shadows, and roundness controls
- Annotate: Add shapes, arrows, text, and numbered labels to highlight important areas
- Customize: Select annotations to adjust colors, opacity, borders, and alignment
- Export: Save to your chosen directory or copy directly to clipboard for instant sharing
To run the app in development mode:
pnpm tauri devThis will:
- Start the Vite dev server for the frontend
- Compile the Rust backend
- Launch the Tauri application window with hot-reload
See CONTRIBUTING.md for detailed development setup and contribution guidelines.
- Frontend: React 19, TypeScript, Tailwind CSS 4, Vite
- Backend: Rust, Tauri 2
- Key Libraries:
xcap- Screenshot captureimage- Image processing@tauri-apps/plugin-store- Settings persistence@tauri-apps/plugin-global-shortcut- Global hotkeys
Contributions are welcome! Please read our Contributing Guidelines before submitting a pull request.
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
- Star the project
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.