Ctrl F for your screenshots
gyotaku reads the text in every screenshot on your computer, so you can find any of them by typing a word you remember. Free, open source and fully offline.
macOS, Windows and Linux

Background: The Great Wave off Kanagawa, Hokusai, c. 1831
What it does
Everything below is live and works the way it does in the app, with the same keys.
Finds the words it misread
OCR sometimes reads an I as an l, or an O as a 0. Those screenshots still turn up, after every exact match, marked as a near match.
Try inv0ice

Fern & Co
Order confirmed
Mum
Bursts fold into one
Six screenshots of the same chat, taken while you scrolled, show as one tile. The rest are one key away.
ctrl e unfolds them

Copy just the lines you need
Drag a box over an open screenshot to copy the lines inside it, or click one line to copy only that.
Drag across the booking

- Discorderror: cannot find module 'sharp'today
- Discordbuild error on main, see the logsyesterday
- ScreenshotsError 502 Bad Gatewayyesterday
- Discordlunch at 1? the usual place3 days ago
- ScreenshotsInvoice #4021, amount duetoday
- Downloadserror rate 0.2% over the weeklast week
Filters for where and when
in:discord,date:yesterday,before:aug. They mix with words, and dim once they're complete.- otp0 marked
Clear out a hundred at once
Search
otp, mark every result, move them to the trash. Nothing is deleted, and Ctrl+Z puts them all back. - save copied imagesWHEN THE BUILD PASSESClipboard12Pictures/Clipboard
copy it, it gets saved and read
Copied images count too
Turn it on and anything you copy, even if it was never saved, lands in
Pictures/Clipboardand becomes searchable. Off by default. - स्टेटस
ORDERS
ऑर्डर #4021 का स्टेटसडिलीवरी आज शाम तकपता: जोधपुर, राजस्थान縦書きのテキストfoundHindi, Marathi, Nepali, and vertical text
Turn on Devanagari in settings and it reads that too. Vertical Japanese and sideways chart labels read as well.
SHORTCUTS
Every shortcut is yours
Pick a command and press the new keys. Escape cancels, Delete puts the default back, and keys already in use are refused.
Measured, not promised
On a laptop with over 5,000 real screenshots.
- per keystroke, across 5,000+ screenshots
- 1 to 10 ms
- from a screenshot saved to searchable
- 0.77 s
- from the shortcut to the window
- ~120 ms
- of memory while waiting in the background
- 37 MB
- of disk per 1,000 screenshots
- ~30 MB
- needed, it renders in software too
- No GPU
Install in one line
No admin rights and no developer tools. Run it again any time to update.
x86_64 and arm64, on any distro with glibc 2.35 or newer.
Run it again any time to update. The old window closes and the reader restarts on the new version.
Nothing leaves your computer
Screenshots hold passwords, codes, chats and bank details. gyotaku reads them on your own CPU and keeps the index on your own disk. No account, no telemetry, no update checks.
| setup | text reading model | once, checksum pinned |
| setup | ONNX Runtime | once, checksum pinned |
| after | your screenshots | never leave |
| after | usage data | never collected |
Questions
Something else? Open an issue.
Is it really free?
Yes. gyotaku is open source under the GPL-3.0, with no paid tier, account or limits. The code is on GitHub.
Does anything leave my computer?
No. Screenshots are read on your own CPU and the index stays on your disk. The only network access is a one-time download of the text reading model and ONNX Runtime at setup, each checked against a pinned checksum. There's no telemetry and no update check.
Which systems does it run on?
macOS on Apple Silicon Macs, Windows 10 and 11, and Linux on x86_64 and arm64 with glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora, Arch, openSUSE and so on). Intel Macs need a build from source for now.
Does it need a GPU, or slow my computer down?
No GPU needed. Reading runs at idle priority, so it only uses time nothing else wants, and takes under a second per screenshot. Waiting in the background it uses about 37 MB of memory.
How much disk space does it take?
About 30 MB per 1,000 screenshots for the index and thumbnails, plus around 46 MB once for the model and runtime.
Which languages can it read?
English and other Latin-script languages, Chinese and Japanese out of the box, including vertical text. Hindi, Marathi and Nepali can be turned on in settings.
How do I uninstall it?
Run the install command again with --uninstall on macOS or Linux, or remove it from Settings > Apps on Windows. The README has the exact commands.