Skip to content

xacnio/shotcove

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shotcove

Shotcove

Screenshot tool with a built-in editor and automatic Google Drive sync, built with Tauri 2 + React

License: MIT Version Website

Get it from Microsoft Store

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.

Screenshots

Shotcove Editor
✨ Click here to view more screenshots
Gallery Shortcuts

Direct Link providers

Features

πŸ“Έ 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

Install

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+)

Windows x64

Windows ARM64

Or get it from the Microsoft Store:

Get it from Microsoft Store

🍎 macOS (11+)

macOS Universal

🐧 Linux

Linux x64

Linux ARM64

Build from source

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.

Using your own Google Cloud OAuth client (optional)

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.

  1. Google Cloud Console β†’ create a new project (e.g. "Shotcove").
  2. APIs & Services β†’ Library β†’ find Google Drive API and click Enable.
  3. 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).
  4. APIs & Services β†’ Credentials β†’ Create Credentials β†’ OAuth client ID:
    • Application type: Desktop app
    • Copy both the generated Client ID and Client Secret.
  5. 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).

Where are my files?

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.

How it works

  • 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.png and 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 webViewLink is copied to your clipboard.

Disclaimer

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.

Built with

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

AI Disclosure

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.

License

MIT

Privacy Policy

Privacy Policy Β· Terms of Service

Also published on the website: Privacy Β· Terms Β· License