Flick is a desktop screenshot, OCR, and AI translation tool built with Tauri, Rust, React, and Vite. It is designed for quick capture workflows, selected-text translation, and local translation history.
- Screenshot capture with configurable global hotkeys.
- Screenshot editor toolbar with annotation, mosaic, text, emoji, color, undo/redo, copy, save, pin, long screenshot, GIF recording, and video recording actions.
- Screenshot-to-translation workflow: capture a region, run OCR, and send detected text to the configured AI provider.
- Selected-text translation and translate-and-replace shortcuts.
- Platform-aware OCR engines:
- macOS Vision OCR on macOS.
- Windows built-in OCR on Windows.
- Bundled Paddle OCR v5 mobile ONNX models where available.
- AI translation providers:
- OpenAI.
- Anthropic.
- OpenAI-compatible endpoints.
- Anthropic-compatible endpoints.
- Ollama.
- LM Studio.
- Microsoft Edge TTS playback for source and translated text when available.
- Local screenshot, video, and translation history.
- Configurable screenshot/video retention and storage paths.
- Launch-at-startup support.
- Interface languages: English, Simplified Chinese, and Japanese.
| Feature | Windows | macOS | Linux |
|---|---|---|---|
| Screenshot capture | Supported | Supported | Supported on X11; not available on Wayland |
| Screenshot editor toolbar | Supported | Supported | Not supported |
| Screenshot-to-translation | Supported | Supported | Supported on X11; not available on Wayland |
| Long screenshot | Supported | Supported | Not supported |
| GIF recording | Supported | Supported | Not supported |
| Video recording | Supported | Supported | Not supported |
| Selected-text translation and replace | Supported | Supported | Supported where global shortcuts and accessibility integration are available |
| Local screenshot, video, and translation history | Supported | Supported | Supported |
- Rust/Cargo with support for Rust edition 2024.
- Node.js and npm.
- Tauri desktop build dependencies for your target platform.
Platform notes:
- macOS: install Xcode Command Line Tools. For signed local macOS builds, run
./scripts/create_macos_self_signed_cert.shonce, then use the signed build script. Flick may also require the following permissions in System Settings depending on the features you use:- Screen Recording: required for screenshot capture and screenshot OCR.
- Accessibility: required for selected-text translation, translate-and-replace, and other workflows that interact with the active app.
- Windows: install Microsoft Visual Studio Build Tools with the C++ desktop workload. WebView2 Runtime is required by Tauri apps and is normally already present on current Windows systems.
- Linux: install the GTK/WebKit and related desktop libraries. Due to Wayland's security model, global hotkeys and screenshot capture are not available in Wayland sessions; use an X11 session for those features. The post-screenshot editor toolbar is currently disabled on Linux, so long screenshots, GIF recording, and video recording are not available there; regular screenshots use the direct save/copy flow. On Ubuntu/Debian-based systems, this repository includes a helper target:
make setup-linux-deps-ubuntuInstall frontend dependencies:
cd frontend
npm installRun the desktop app in development mode:
npm run tauri:devRun the TypeScript check:
npm run lintFrom the frontend directory:
npm run tauri:buildThe release output is written under:
target/release/bundle/
You can also use the top-level Makefile from the repository root:
make build-releaseOn macOS, make build-release calls the signed build script. If the signing identity is missing, create the local self-signed certificate first:
./scripts/create_macos_self_signed_cert.sh
make build-releaseOn Windows, you can also run:
.\scripts\build-release-windows.ps1Build the app first, then install the artifact generated for your platform from target/release/bundle/:
- macOS: open the generated
.dmgand drag Flick into Applications. - Windows: run the generated
.msior.exeinstaller. - Linux: install the generated Linux package for your distribution, or run the generated binary if you are using an unpacked build.
macOS Gatekeeper note: current macOS builds are signed with a local self-signed certificate and are not Apple-notarized. This is enough for local signing, but it does not pass macOS Gatekeeper for downloaded builds. If macOS blocks the app, only open it if you trust the build source; you may need to open it from Finder with right-click > Open, or remove the quarantine attribute for your local build.
The application version is maintained in one place:
src-tauri/Cargo.toml
Tauri reads the version from Cargo when src-tauri/tauri.conf.json does not define its own version field.
Flick is licensed under the GNU General Public License version 3.0. See LICENSE for the full license text.
The bundled Paddle OCR v5 mobile ONNX assets are derived from the official PaddleOCR project and are provided under the Apache License 2.0. See src-tauri/resources/ocr/paddle_ocr_v5_mobile/README.md for details.


