A lightweight, native Wayland utility for Optical Character Recognition (OCR) and Visual Search, built with Quickshell. Designed to fit seamlessly into Hyprland with a polished, animated UI.
- ⚡ Instant OCR: Select an area to instantly copy text to your clipboard using Tesseract.
- 🔍 Visual Search: Send a snapshot directly to Google Lens to identify objects, translate text, or find shopping links.
- ✨ Polished UI:
- Shader-based Dimming: The unselected area dims smoothly using a fragment shader.
- Spring Animations: Selection boxes resize with fluid physics.
- Smart Guides: Crosshairs appear for precision alignment before you click.
- Control Bar: A floating "pill" menu allows you to switch modes on the fly.
- Quickshell doesn't stay running in the background. It just pops up when you need it, runs the OCR, and then kills itself immediately
🎥 Demo
20260107-031128.mp4
- Quickshell
grim(Screenshot utility)imagemagick(Image cropping/processing)tesseract+tesseract-data-eng(OCR engine)wl-clipboard(Clipboard management)curl&jq(Required for the Lens upload mechanism)libnotify(Desktop notifications)
Arch Linux:
sudo pacman -S grim imagemagick tesseract tesseract-data-eng wl-clipboard curl jq libnotify xdg-utilsInstall Quickshell (from AUR)
yay -S quickshell-git- Clone the repository:
mkdir -p ~/.config/quickshell
git clone https://github.com/Ronin-CK/HyprQuickSnip.git ~/.config/quickshell/HyprQuickSnipAdd this to hyprland.conf:
bind = Super Shift, T, exec, quickshell -c HyprQuickSnip -nSymptom: When you capture an area, the resulting image is shifted to the left or in the wrong position.
Cause: This happens when Qt scaling environment variables (like QT_SCALE_FACTOR or QT_AUTO_SCREEN_SCALE_FACTOR) conflict with Hyprland's native scaling.
Solution: Disable Qt scaling when launching the tool. Update your keybinding in hyprland.conf:
bind = SUPER SHIFT, T, exec, env QT_SCALE_FACTOR=1 QT_AUTO_SCREEN_SCALE_FACTOR=0 quickshell -c HyprQuickSnip -n