The free, open-source screenshot, screen-recording, and annotation app for macOS.
A community-built, MIT-licensed alternative to CleanShot X, Shottr, and Xnapper.
Download · Features · Snapora vs CleanShot · Roadmap · Contributing
Snapora is a free and open-source replacement for paid screen-capture apps on macOS — built for power users who want CleanShot-level polish without lock-in or subscriptions.
- No subscription, no account required — install and capture
- No telemetry — your captures stay on your Mac
- Hackable by design — TypeScript + Electron + React, the same stack any web developer already knows
- Clean-room implementation — built from public Apple docs and bundled OSS tools (
screencapture,ffmpeg,tesseract); no decompiling, no leaked code
Status — pre-alpha. The scaffolding is in place; most features are stubs. Watch the repo to know when v0.1 ships.
Items marked ✅ work today. Everything else is planned and tracked in ROADMAP.md.
- Capture — area, window, full-screen, scrolling
- Annotate — arrows, text, blur, pixelate, highlight, shapes, counters, crop
- Record — region / window / display with mic and webcam overlay; export MP4 or animated GIF
- OCR — extract text from any screenshot (bundled Tesseract or on-device)
- Pin overlays — float screenshots above any window for visual diffs
- Quick-access HUD — post-capture floating thumbnail with one-click actions
- History — searchable local SQLite, configurable retention
- Global hotkeys — fully rebindable
- Menu-bar app — no Dock clutter
Full feature reference: docs/features.md.
🚧 Pre-alpha — no installable build is published yet. The instructions below are the plan for v0.1.
Snapora ships in two phases. Until we sign builds (v1.0), installs need one extra step. Detailed walkthrough in docs/install.md.
Grab the latest Snapora-<version>-arm64.dmg (Apple silicon) or -x64.dmg (Intel) from the Releases page. Drag Snapora to Applications, then run once in Terminal:
xattr -cr /Applications/Snapora.appOpen Snapora normally — the first-run wizard handles permissions. The xattr command clears macOS's "unidentified developer" warning that fires on unsigned apps. One-time per install, not per launch.
Once the Apple Developer Program ($99/yr) is wired in:
brew install --cask snaporaZero warnings, zero terminal steps, auto-updates via electron-updater.
On first launch the first-run wizard walks you through Screen Recording (required), Microphone (optional, for recording), and Camera (optional, for webcam overlay). Screen Recording grants take effect after quit and relaunch — that's a macOS rule, not a Snapora bug, and the wizard handles the prompt.
| Snapora | CleanShot X | Shottr | |
|---|---|---|---|
| Price | Free | $29 (single seat, lifetime) + $10/mo cloud | Free + paid pro |
| Open source | ✅ MIT | ❌ | ❌ |
| Telemetry | None | Some | Some |
| Account required | No | Optional | No |
| Auto-updates | ✅ (via electron-updater) | ✅ | ✅ |
| Screen recording (MP4 / GIF) | Planned | ✅ | Limited |
| OCR | Planned | ✅ | ✅ |
| Pinned overlays | Planned | ✅ | ✅ |
| Annotation editor | Planned | ✅ | ✅ |
Honest take: CleanShot X and Shottr are excellent native apps and worth supporting if you can. Snapora exists for people who want the same workflow without paying, want to read and modify the source, or want a tool that's auditable and hackable end-to-end.
After installing:
- Click the Snapora icon in your menu bar.
- Press ⌘⇧2 to capture an area, ⌘⇧3 for a window, or ⌘⇧4 for the full screen.
- The capture appears in the Quick Access HUD — copy, save, or open the editor for annotations.
- Configure shortcuts and save folder in Settings… (⌘,).
Requirements: macOS 13+, Node.js 20+, and either npm or pnpm.
# clone
git clone https://github.com/forgemoss/Snapora.git
cd Snapora
# install dependencies (rebuilds native modules for Electron)
npm install
# launch in development with hot-module reload
npm run devnpm run dev # launch the app in development with HMR
npm run build # production build (unsigned)
npm run dist # build + package macOS DMG (signed if certs present)
npm run lint # ESLint
npm run format # Prettier (write)
npm run typecheck # TypeScript noEmit
npm test # Vitest unit tests
npm run e2e # Playwright end-to-end (Electron)Or use the Makefile shorthand: make dev, make build, make test, etc.
src/
├── main/ # Node — tray, hotkeys, capture pipeline, IPC handlers, child processes
├── preload/ # contextBridge — typed IPC API exposed safely to the renderer
├── renderer/ # React + Tailwind + Konva — editor, settings, HUD, first-run wizard
└── shared/ # types & IPC channels imported by both sides
build/ # electron-builder resources (entitlements, notarize hook, icon)
resources/ # bundled binaries — ffmpeg, tesseract — populated at build time
The capture pipeline shells out to macOS's built-in /usr/sbin/screencapture and bundles ffmpeg/tesseract for advanced flows. We don't write native macOS code; we orchestrate system tools and bundled OSS binaries. See docs/features.md for the full implementation map.
A short summary — see ROADMAP.md for the full plan.
| Milestone | Theme |
|---|---|
| v0.1 | MVP: working area capture + tray + hotkeys + signed release |
| v0.2 | All capture modes + history view |
| v0.3 | Annotation editor (Konva) |
| v0.4 | Screen recording (ffmpeg) |
| v0.5 | Pinned overlays + OCR + quick-access HUD |
| v0.6 | Cloud upload (S3, R2, B2, WebDAV, custom) |
| v1.0 | Auto-update, notarized, on Homebrew Cask |
Issues, design discussions, and PRs are welcome. Read CONTRIBUTING.md before opening a PR — there are specific rules around clean-room provenance.
Important: do not decompile, disassemble, or otherwise reverse-engineer any commercial screenshot app and submit derived code. Snapora must remain a clean-room implementation. PRs with tainted provenance will be rejected.
If Snapora is useful to you:
- ⭐ Star this repo — it's the single biggest signal that the project is worth maintaining
- 💬 Open an issue with feedback or feature requests
- 🛠 Pick a roadmap item and send a PR
- 💖 Sponsor the project — funds notarization fees, hosted-cloud infrastructure, and contributor time
Snapora is the first of a series of open-source alternatives to popular paid Mac apps under forgemoss. More are on the way — follow the org to be notified.
MIT © forgemoss and Snapora contributors.
Snapora is not affiliated with, endorsed by, or sponsored by the developers of CleanShot X, Shottr, Xnapper, or any other screen-capture app. All trademarks belong to their respective owners.