macOS 14+ · Apple silicon and Intel

The screenshot you took three weeks ago.
Two seconds from any app.

Screenshot Inbox reads the text inside every screenshot you take, keeps your Desktop empty, and never sends a single pixel anywhere. Press one key, type what you half-remember, paste.

No account. No subscription. No network calls.

timeoutesc
$ swift build -c release
Compiling ScreenshotInboxCore (48 sources)
error: connection timeout after 30000ms
at PackageResolver.resolve(_:) line 212
host: github.com attempt 3 of 3
** BUILD FAILED **
Terminal — build failureTerminal9 Augerror: connection timeout after 30000ms
OCRQualityTool — batch run
thermal state: nominal
low power pause triggered 0 times
no timeout observed
queue drained, newest first
Xcode — Vision throughputXcode22 Julthermal state: nominal, no timeout observed
$ swift build -c release
Compiling ScreenshotInboxCore (48 sources)
error: connection timeout after 30000ms
at PackageResolver.resolve(_:) line 212
host: github.com attempt 3 of 3
** BUILD FAILED **
Copy TextCopy ImageCopy Both
↑↓ move copy text⌘↵ copy image On this Mac only
The overlay opens over whatever app you're in. Type a fragment you half-remember, and the match is highlighted on the image itself — because the text inside the screenshot is real, indexed text.
The problem

Spotlight indexes the filename. The error message is gone.

macOS drops every screenshot onto your Desktop asScreenshot 2026-08-31 at 4.32.11 PM.png. Within weeks the Desktop is unusable, and the one thing you actually wanted — the stack trace, the config screen, the invoice total — is unfindable. You know you captured it. You cannot get to it.

Cloud tools solve the finding half by uploading your images to somebody else's server. That is a non-starter the moment you screenshot an internal dashboard, a credential, or a client's billing screen.

How it works

You don't change a thing about how you capture.

Step 01Keep pressing ⌘⇧4

Screenshot Inbox finds your current macOS screenshot location by itself — including a custom one — and watches it. Nothing to configure on first run.

Step 02It reads and files them

Each capture moves off the Desktop, is read on-device with Apple Vision, tagged with the app it came from, and indexed — in about a second.

Step 03Press ⌥Space anywhere

The overlay opens over whatever app you're in. Type a fragment, hit Return to copy the text, Esc to dismiss. You never open the app.

Screenshot Inbox1,284 captures
Watching for screenshots
Recent
$ swift build -c release
Compiling ScreenshotInboxCore (48 sources)
error: connection timeout after 30000ms
at PackageResolver.resolve(_:) line 212
host: github.com attempt 3 of 3
** BUILD FAILED **
Terminal — build failureTerminal · 9 Aug
Stripe › Balance › Payouts
Next payout $4,182.60 26 Aug 2026
Schedule: automatic, every 7 days
Account ending 4471
Last payout $3,904.15 19 Aug 2026
Stripe — payout scheduleSafari · 12 Aug
#eng-backend
priya 10:41
migration 0042 has to run before deploy
it rebuilds the fts index, ~4 min lock
raj 10:44
ok — window is 02:00 IST Saturday
Postgres migration notesSlack · 4 Aug
Create API token
Token name: screenshot-inbox-worker
api key sk_live_51KdmQ2eZvKYlo2C
Permissions: Workers KV Storage — Edit
Copy this now. It will not be shown again.
Cloudflare — API tokenSafari · 1 Aug
Open Search⌥Space
Library⌘L
Pause automatic capture
Settings…⌘,
Quit Screenshot Inbox⌘Q
Most days you never open the app. The menu bar shows what it just collected and whether it's watching, and the pause toggle is there for the screen share you're about to start.
What it knows

It reads more than words.

Every capture is classified and mined on-device. That's what makes the filters worth having instead of a folder you'd sort by hand.

Source appRecorded from window metadata at the moment of capture, not guessed from pixels later. That's why "from Slack" is trustworthy enough to filter on.
Content typeCode, terminal, error, receipt, chat, article, UI — sorted by a deterministic offline classifier. No model download.
EntitiesURLs, email addresses, amounts, dates and tracking numbers pulled into structured fields you can filter and act on.
SecretsAPI-key-shaped strings and emails are flagged, and can seed redaction regions in one click before you share.
Library
GridList
$ swift build -c release
Compiling ScreenshotInboxCore (48 sources)
error: connection timeout after 30000ms
at PackageResolver.resolve(_:) line 212
host: github.com attempt 3 of 3
** BUILD FAILED **
Terminal — build failureTerminal · 9 Aug
Stripe › Balance › Payouts
Next payout $4,182.60 26 Aug 2026
Schedule: automatic, every 7 days
Account ending 4471
Last payout $3,904.15 19 Aug 2026
Stripe — payout scheduleSafari · 12 Aug
#eng-backend
priya 10:41
migration 0042 has to run before deploy
it rebuilds the fts index, ~4 min lock
raj 10:44
ok — window is 02:00 IST Saturday
Postgres migration notesSlack · 4 Aug
Create API token
Token name: screenshot-inbox-worker
api key sk_live_51KdmQ2eZvKYlo2C
Permissions: Workers KV Storage — Edit
Copy this now. It will not be shown again.
Cloudflare — API tokenSafari · 1 Aug
INVOICE UT-2026-118
Udaan Technologies
Bill to: Acme Corp
Retainer, July 2026 ₹84,000.00
GST 18% ₹15,120.00
Total due ₹99,120.00
Invoice — Acme CorpPreview · 28 Jul
OCRQualityTool — batch run
thermal state: nominal
low power pause triggered 0 times
no timeout observed
queue drained, newest first
Xcode — Vision throughputXcode · 22 Jul
The Library. Grid or list, a detail pane holding the recognized text, and a left rail that encodes what the app actually knows. Smart collections are saved filters, not folders — nothing has to be sorted by hand, and they stay live as new captures arrive.
Privacy

Not a promise. An absence of code.

Most apps ask you to trust a privacy policy. This one is built so there is nothing to trust: the capture, recognition and search loop makes no network calls at all, and the build refuses to compile if someone adds one.

Verify it yourselfRun Little Snitch, take twenty screenshots, search them. You will see no outbound connection. The only network operations in the whole app are Check for Updates and licence activation — both buttons you press.
On-device recognitionApple Vision, running on your Mac. No cloud OCR, and no cloud fallback when recognition is imperfect — a local miss stays local.
Your files stay filesOrdinary PNGs in a folder you can open, indexed by a plain SQLite database you can inspect. Export everything — images, text and metadata — in one click.
No analytics. At all.No telemetry, no crash reporting, not even opt-in. The whole app has two dependencies and neither one talks to a network.

Read exactly what stays on your Mac →

Is it for you?

We'll tell you when it isn't.

This is a crowded category and most of it is good software. If the built-in macOS tools already cover you, these pages say so.

For developers →Stack traces, terminal output and config screens you actually go back for.
For consultants →Client dashboards under NDA, where a cloud upload isn't a choice you have.
vs CleanShot X →A capture suite versus an index. Most people who own both keep both.
vs built-in macOS →What Live Text and Spotlight do, and exactly where they stop.
One-time purchase
$22
  • Buy once. Yours forever, on every Mac you own.
  • 14-day trial, fully featured, no account required.
  • No subscription and no upgrade fee for v1 updates.

Common questions

Does it change how I take screenshots?
No. Keep pressing ⌘⇧4, ⌘⇧5 or whatever you use now. Screenshot Inbox watches wherever macOS is currently saving them and picks them up from there — it doesn't replace the system capture tool.
Where do my screenshots actually live?
In a normal folder inside ~/Library/Application Support, as ordinary image files indexed by a plain SQLite database. Settings has a button that opens it in Finder.
I already have thousands of screenshots. Can I import them?
Yes. Point the importer at one or more folders — it runs in the background with visible progress, and it's pausable and resumable. Screenshots you take during the import are still indexed first.
Will it slow down my Mac?
Recognition runs on a background queue that never blocks the interface, and it pauses automatically in Low Power Mode. It's a native Swift app using Apple's Vision framework — no bundled inference server, no Python runtime, no model download.

More questions on the pricing page →