Shotcove lives in your system tray. Hit a shortcut to capture an area, a window, or the full screen β the shot opens in a built-in editor, then copies, saves, or uploads itself to Google Drive or a Direct Link provider on its own.
πΈ Capture
- Fully customizable shortcuts β combo, capture mode (area, window, full screen, current monitor) and actions, per slot
- PrintScreen support out of the box, as a dedicated full-screen shortcut
- Multi-monitor aware β capture spans every display, or just the one under your cursor
- Elevated/admin mode β shortcuts keep working with apps running as administrator
ποΈ Editor
- Arrow, text (custom Google Fonts), 8 shape types, freehand pen, blur/pixelate, and crop (by window or by monitor)
- Gradient backgrounds, color palette, adjustable stroke width, layering (bring forward / send back)
- Full undo/redo and zoom
- One-click Copy, Save, Copy & Save, Drive upload, or Direct Link from the toolbar
βοΈ Cloud Sync
- Automatic background sync to a dedicated Google Drive folder β already-uploaded files are tracked and never re-sent
- Full / Local-priority / Manual sync modes
- No backend β Shotcove talks to Drive directly from your machine. OAuth tokens are stored in your OS credential store (Windows Credential Manager, macOS Keychain, Linux Secret Service) and never sent anywhere else
π Direct Link Sharing
- Skip Drive entirely: upload to ImgBB, Catbox, or any custom HTTP endpoint you configure
- Multiple providers tried in priority order; unsupported formats are automatically converted to PNG
πΌοΈ Gallery
- Unified view of local and Drive-synced screenshots
- Filter by date, source app, source, or tag; sort and group
- Free up local disk space without losing the cloud copy
- Tagging system, multiple grid/list view modes
π Internationalization
- English and TΓΌrkΓ§e, fully localized interface
π» Platform Integration
- Lives in the system tray, with optional autostart
- Built-in auto-updater
Grab the latest build from Releases. Pick the badge that matches your machine β x64 is the regular Intel/AMD build, ARM64 is for ARM-based PCs and Macs/Linux boards.
πͺ Windows (10+)
Or get it from the Microsoft Store:
π macOS (11+)
π§ Linux
git clone https://github.com/xacnio/shotcove
cd shotcove
npm install
npm run tauri dev # development
npm run tauri build # installer package (NSIS/MSI)Requires Rust, Node.js, and platform-specific deps for Tauri β see Tauri prerequisites.
Shotcove connects to Google Drive out of the box using its own built-in OAuth client β just click Connect Google account in Settings and you're done. Setting up your own Client ID is only useful if you'd rather run on your own Google Cloud quota instead of the shared default one. If that doesn't matter to you, skip this section entirely.
- Google Cloud Console β create a new project (e.g. "Shotcove").
- APIs & Services β Library β find Google Drive API and click Enable.
- APIs & Services β OAuth consent screen:
- User type: External β Create
- Fill in the app name and email fields, then save.
- Add your own Gmail address under Audience β Test users (unless you publish the app to "production", only test users can sign in β that's enough for personal use).
- APIs & Services β Credentials β Create Credentials β OAuth client ID:
- Application type: Desktop app
- Copy both the generated Client ID and Client Secret.
- In Shotcove's Settings window (tray icon β Settings β Advanced), paste both the Client ID and Client Secret β click Connect Google account β grant access on the Google page that opens in your browser.
The Client Secret field is required once you supply your own Client ID. If you leave it empty, Shotcove falls back to its own built-in secret, which won't match your custom Client ID and Google will reject the connection with
invalid_client/ "The provided client secret is invalid". Fix: copy the Client ID and Secret together from the same OAuth client (GOCSPX-...) and paste both in.Your tokens are stored only on your own machine, in your OS credential store (see Cloud Sync above).
| What | Windows | macOS / Linux |
|---|---|---|
| Screenshots | %USERPROFILE%\Pictures\Shotcove |
~/Pictures/Shotcove |
| Settings | %APPDATA%\dev.xacnio.shotcove\settings.json |
macOS: ~/Library/Application Support/dev.xacnio.shotcove/settings.json Β· Linux: ~/.config/dev.xacnio.shotcove/settings.json |
| Upload record | %APPDATA%\dev.xacnio.shotcove\uploaded.json |
same base path as Settings, uploaded.json |
| Drive tokens | Windows Credential Manager | macOS Keychain / Linux Secret Service |
The screenshots folder is configurable in Settings on every platform.
- Pressing a shortcut freezes the screen on the monitor under your cursor and opens a full-screen selection overlay; drag to select an area (Esc or right-click to cancel).
- After selection, the image opens in the editor. Save/Share writes it to disk as
Date_Time.pngand queues it for upload. - The screenshots folder is also watched at the filesystem level: PNG/JPG files you drop in manually get uploaded automatically too.
- On the "Link" shortcut, once the file is uploaded it's set to anyone with the link can view and its
webViewLinkis copied to your clipboard.
Shotcove integrates with third-party services β Google Drive, ImgBB, and Catbox β for cloud sync and link sharing. It is not affiliated with or endorsed by any of them. You can connect your own accounts/API keys, and you're responsible for the content you upload through these services and for complying with their terms of use.
| Project | Description | License |
|---|---|---|
| Tauri | Lightweight desktop app framework | MIT / Apache-2.0 |
| React | UI library | MIT |
| Tailwind CSS | Utility-first CSS framework | MIT |
| Vite | Frontend build tool | MIT |
| react-icons | Icon components | MIT |
| TanStack Virtual | Virtualized lists/grids | MIT |
| Manrope | UI font | OFL-1.1 |
| Tokio | Async runtime | MIT |
| reqwest | HTTP client | MIT / Apache-2.0 |
| xcap | Cross-platform screen capture | MIT |
| image-rs | Image encoding/decoding | MIT / Apache-2.0 |
| serde | Serialization framework | MIT / Apache-2.0 |
| notify | Filesystem watcher | MIT / Apache-2.0 |
| keyring-rs | Cross-platform OS credential store access | MIT |
This project was developed with the assistance of AI-powered coding tools (Claude and similar LLM-based agents) to speed up the path to a first stable release. All generated code was reviewed and guided by the developer's own software engineering judgment throughout.
Going forward, maintenance, stability improvements, and new features will be driven primarily through conventional development practices, with AI tools used only as supplementary aids where appropriate.



