Translate any text on your Mac screen — just drag to select.
Powered by Apple Vision OCR. On-device by default, with optional cloud engines.
![]() |
→ | ![]() |
| Drag to select | Translation result |
- Press shortcut — Hit
Ctrl + Shift + T(customizable) to enter selection mode - Drag to select — Draw a rectangle around the text you want to translate
- Read translation — Translation appears in a popup near your selection
That's it. No copy-paste, no browser tabs, no context switching.
- Completely Private — On-device by default. No servers, no tracking, no data collection
- Instant Translation — One shortcut triggers area selection, OCR, and translation in a single motion
- 18 Languages — Korean, English, Japanese, Chinese, and 14 more. Auto-detect source language supported
- Works Offline — Download language packs once, translate anywhere without internet
- BYOK Cloud Engines — Bring your own API key for DeepL, Google Cloud Translation, or Microsoft Azure Translator
- Auto Copy — Translation results are automatically copied to clipboard
- Translation History — Every translation is saved. Search and copy previous results anytime
- Menu Bar App — Lightweight, always available, never in the way
- macOS 15 Sequoia or later
- Apple Silicon or Intel
Download the latest version from the website.
git clone https://github.com/hcmhcs/screenTranslate.git
cd screenTranslate
open ScreenTranslate.xcodeprojBuild and run with Xcode 16+.
- Launch ScreenTranslate — it appears in your menu bar
- Grant Screen Recording permission when prompted (System Settings → Privacy & Security)
- Press
Ctrl + Shift + Tand drag over any text on screen - The translation popup appears instantly
Open Settings from the menu bar icon to:
- Set source language (or leave as Auto-detect)
- Set target language
- Download language packs for offline use
- Customize the keyboard shortcut
| Component | Technology |
|---|---|
| UI | SwiftUI + AppKit |
| OCR | Apple Vision |
| Translation | Apple Translation (on-device), DeepL, Google, Azure |
| Data | SwiftData |
| Updates | Sparkle |
| Architecture | @Observable, MainActor isolation |
This project is licensed under the GNU General Public License v3.0. See LICENSE for details.

