A fast screenshot tool: select, annotate, recognize text, translate, record, stitch long pages. Everything stays on your computer.
One click downloads Snapling-Setup.exe. Open it and Snapling installs itself, no admin rights needed.
Portable version (zip) · All versions
- Selection: an area, a window, an element inside a window or the whole screen. Freeform outline, drag handles, arrow keys, and a magnifier at the cursor.
- Annotation right on the screen: arrows, lines, shapes, pen, marker, text, numbered steps and a blur brush, before or after you select.
- Color picker: click to copy a color as HEX, RGB, HSL, HSV or CMYK.
- Text: recognition without internet, with small text enlarged first. Windows OCR or PaddleOCR.
- Translation: 14 languages. Offline with OPUS-MT, or through DeepL, Yandex and Google with your own key, sent only when you press the button.
- Screen recording: GIF or MP4 with system sound and microphone, pause, quality up to 60 fps, a countdown and cancel. The frame and timer never get into the file; an MP4 stays playable after a crash.
- Long screenshots: scrolls the page by itself and stitches it, sticky headers stay single.
- Pin: keep a shot on top of all windows, zoom it with the wheel.
- Gallery: every shot in one window, search by the text on them, a large view, and recognition of old shots.
- Editor: the same tools with undo, zoom, moving shapes, text frames and saving as PNG, WebP or JPEG. A
.snapling.jsonproject next to the image lets you reopen it and fix arrows and text later. - Settings: hotkeys pressed right on the keyboard with conflict search, four themes including pure black, three sound sets or your own sounds, a proxy, settings import and export.
- Languages: English and Russian. A new language is one TOML file.
![]() |
![]() |
Snapling goes online only when you ask it to: downloading a model, online translation, and checking for updates. API keys stay in the system keyring, never in files or logs.
Download Snapling-Setup.exe and open it. It asks for a folder and needs no admin rights.
| File | Who needs it |
|---|---|
Snapling-Setup.exe |
Everyone. Installs for the current user. |
Snapling-portable.zip |
If you want Snapling in a folder of your choice. Settings stay next to it. |
Requires Windows 10 2004 or newer, x64. To free the PrtScn key from the Snipping Tool, press Fix on the welcome screen.
There is no prebuilt Linux release yet; support is early and currently built from source:
git clone https://github.com/MeowKusTrue/Snapling.git
cd Snapling/packaging/aur
makepkg -siIt needs grim, slurp, wl-clipboard and pipewire. Optional: wf-recorder and ffmpeg for recording, wlrctl for long screenshots, libnotify, libsecret, zenity. Linux OCR uses PaddleOCR; its model is downloaded only after confirmation.
KDE/Wayland uses spectacle for capture and native region selection, and KGlobalAccel
for shortcuts while the tray is running. Recording and scrolling screenshots are not
supported on KDE. See KDE setup and verification for conflicts,
monitor scaling, limitations and test commands. Generic Wayland protocol checks need
wayland-info from wayland-utils.
Wayland gives apps no global hotkeys, so bind them in hyprland.conf:
exec-once = snapling
bind = , Print, exec, snapling --region
bind = SHIFT, Print, exec, snapling --screen
bind = CTRL, Print, exec, snapling --record
bind = CTRL SHIFT, Print, exec, snapling --long
bind = SUPER SHIFT, O, exec, snapling --ocr
windowrulev2 = fullscreen, title:^(Snapling)$
windowrulev2 = noanim, title:^(Snapling)$
windowrulev2 = float, title:^(Snapling pin)$
windowrulev2 = pin, title:^(Snapling pin)$
snapling --record a second time stops the recording, snapling --record-cancel drops it. On X11 use the same flags with xclip and ffmpeg.
snapling --help lists the available commands, and snapling --version prints the version, commit and target. An unknown flag exits with code 2 instead of opening the GUI.
Early: capture, selection and windows, without a tray, recording or long screenshots. Build from source.
You need Rust. The Windows installer also needs Inno Setup 6.
cargo run # run from source
cargo test --workspace # tests
python tools/package.py # target/dist: installer and portable zipPushing a tag like v1.0.0 builds a release through .github/workflows/release.yml.
Each language is one file in assets/i18n. Copy en.toml, change _name and translate the right side. Run python tools/i18n_sync.py after adding strings. You can also drop a file into the i18n folder next to the settings, without rebuilding.
Built on ideas and code from EiSen. Libraries, fonts, models and sounds are listed in THIRD_PARTY_NOTICES.md.
GitHub releases include a ready-to-run Linux x86_64 binary and a .tar.gz bundle with an icon and install.sh. Extract the bundle and run ./install.sh as your desktop user (Python 3 required, no sudo or Rust build). It installs into ~/.local/bin and the application menu. Desktop capture/portal dependencies remain specific to KDE/Hyprland; use snapling --doctor.
For this user installation, Settings → About → Download and install verifies the official release's SHA-256, checks the executable architecture, atomically replaces the binary and restarts the tray. The previous executable is kept as .snapling-update-previous next to it; a failed new tray startup restores it. Other open Snapling windows/captures and active recordings block installation instead of losing unsaved work. A download can be cancelled.
Both Check at startup and Automatically install at startup are opt-in and off by default. Automatic installation only runs for the user installation when it is idle. The updater uses the configured proxy, or the Linux desktop's HTTP/SOCKS proxy. Checksums are delivered over GitHub HTTPS; they are not a separate publisher signing-key verification mechanism.
An Arch/AUR installation in /usr/bin, Flatpak, AppImage or a development build is not overwritten by the built-in updater: use its original package/update channel. If multiple copies exist, snapling --version refers to the one resolved by your shell; the running application may have been started from a different desktop entry. Keep one preferred installation channel. Releases currently provide a Linux x86_64 build; no ARM release is advertised.


