gitwtfhub

wtf is opensnapx?

alan13367/opensnapx — explained in plain English

Analysis updated 2026-05-18

1SwiftAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

A private macOS screenshot and annotation app that captures screens, recognizes text on-device, and keeps a seven-day local history, no cloud, no accounts, no telemetry.

Mindmap

mindmap
  root((OpenSnapX))
    What it does
      Area window display capture
      Scrolling and text capture
      On-device text recognition
    Privacy
      No cloud no accounts
      No telemetry no network
      Sandboxed and dependency-free
    Editor tools
      Arrows shapes text
      Blur pixelate redaction
      Crop undo redo zoom
    Tech stack
      Swift 6 and AppKit
      ScreenCaptureKit
      Vision framework
    Setup needs
      macOS 14 Sonoma
      Xcode 16 and XcodeGen
      Grant screen recording access
    AI agent option
      Local MCP server
      Window list and OCR queries
      Unix socket no internet

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Capture screenshots of any area, window, or full display on your Mac and annotate them with arrows, blur, text, and shapes.

REASON 2

Extract editable text from screenshots using on-device OCR so you can copy recognized words without typing.

REASON 3

Let a local AI agent query your open windows and capture window screenshots via a privacy-first local socket connection.

REASON 4

Keep a seven-day auto-cleaning history of screenshots so you can revisit recent captures without cluttering your disk.

What's in the stack?

Swift 6AppKitScreenCaptureKitVisionXcodeGenMCP

How it stacks up

alan13367/opensnapxaakarsh-goyal/macjuicealtuzar/sonicflow
Stars111
LanguageSwiftSwiftSwift
Setup difficultymoderateeasyeasy
Complexity3/51/52/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires macOS 14 Sonoma, Xcode 16, Swift 6, and the XcodeGen tool to regenerate the project before building, you must also grant Screen Recording permission on first run.

Free to use, study, and modify, but any distributed versions must also be open under the same GPL v3 terms, no proprietary forks allowed.

Wtf does this do

OpenSnapX is a screenshot and annotation app for macOS, written in Swift 6 and AppKit. It runs entirely on your Mac with no cloud service, no accounts, and no telemetry. The project is openly a work in progress, so you should expect incomplete features and rough edges if you build it today. The app supports area, window, display, scrolling, and text capture across multiple monitors. It can perform on-device optical character recognition, or OCR, using Apple's ScreenCaptureKit and Vision framework, letting you review editable recognized text before copying it. After a capture, OpenSnapX can open its editor, copy the image to the clipboard, or keep it in a seven-day local history that cleans itself up automatically. The editor offers non-destructive annotations such as arrows, shapes, text, pen, highlight, counters, blur, pixelate, solid redaction, and crop, plus undo, redo, zoom, resizing, and pinned images. Video, audio, cloud uploads, and translation are intentionally out of scope for version one. Building OpenSnapX requires macOS 14 Sonoma or later and Xcode 16 with Swift 6. You install a tool called XcodeGen, then run a build script that regenerates the Xcode project and produces the app bundle. On first run you grant Screen Recording access and assign keyboard shortcuts, since macOS does not let third-party apps override its built-in screenshot keys. The app runs from the menu bar and does not request Accessibility permission. There is an optional, disabled-by-default local MCP server that lets AI agents on your Mac query window lists and capture window OCR. It communicates over a Unix domain socket restricted to your user, with no Internet access. Screenshots from agents are returned only when requested and are never added to history. The app makes no network requests, and editable source images are retained for seven days unless deleted sooner. OpenSnapX is sandboxed and dependency-free at runtime. It is licensed under the GNU General Public License, version 3, and the Mac App Store is not a target. Contributions and bug reports are welcome.

Yoink these prompts

Prompt 1
I want to build a macOS screenshot app like OpenSnapX. Help me set up a Swift 6 AppKit project that uses ScreenCaptureKit to capture a screen region and save the image to a local history folder that auto-deletes after seven days.
Prompt 2
Show me how to add on-device OCR to a macOS screenshot app using Apple's Vision framework, then display the recognized text in an editable text view so the user can review and copy it.
Prompt 3
Write a non-destructive annotation editor in Swift and AppKit that supports arrows, rectangles, text labels, blur, pixelate, and crop, with undo/redo and zoom, inspired by OpenSnapX's editor.
Prompt 4
Help me create an optional local MCP server in Swift that listens on a Unix domain socket, lets an AI agent list open windows, and returns a window screenshot plus OCR text without ever touching the internet.
Prompt 5
Generate an XcodeGen project.yml file for a sandboxed macOS app that depends on no third-party libraries, targets macOS 14 Sonoma, and builds with Swift 6 and Xcode 16.

Frequently asked questions

wtf is opensnapx?

A private macOS screenshot and annotation app that captures screens, recognizes text on-device, and keeps a seven-day local history, no cloud, no accounts, no telemetry.

What language is opensnapx written in?

Mainly Swift. The stack also includes Swift 6, AppKit, ScreenCaptureKit.

What license does opensnapx use?

Free to use, study, and modify, but any distributed versions must also be open under the same GPL v3 terms, no proprietary forks allowed.

How hard is opensnapx to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is opensnapx for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.