Skip to main content

LikX

Screenshot capture and annotation tool for Linux

CI CodeQL Release License: MIT Python: 3.8+ GTK: 3.0

LikX UI


Features

Capture

  • Multi-capture: Fullscreen, region, window on X11 and Wayland
  • Multi-monitor: Quick-select monitors with number keys (1-9)
  • GIF recording: Capture animated GIFs of any screen region
  • Scrolling screenshots: Auto-scroll and stitch long pages

Annotation

  • Drawing tools: Pen, highlighter, line, arrow (open/filled/double), rectangle, ellipse
  • Text tools: Text annotations with bold/italic/fonts, callout bubbles
  • Markers: Number markers, stamps (✓✗⚠❓), color picker
  • Selection: Move, resize, delete with snap-to-alignment guides
  • Privacy: Blur and pixelate tools for sensitive data
  • Crop: Drag to crop with Shift for 1:1 aspect ratio lock

Features

  • OCR: Extract text from screenshots via Tesseract
  • Pin to desktop: Keep screenshots always visible while working
  • Effects: Shadow, border, background, rounded corners, brightness/contrast
  • Cloud upload: Imgur, Amazon S3, Dropbox, Google Drive
  • History browser: Visual thumbnail browser for all captures
  • Customizable hotkeys: Configure all keyboard shortcuts
  • Multi-language: 8 languages (English, Spanish, French, German, Portuguese, Italian, Russian, Japanese)

Installation

sudo snap install likx

AppImage

Download the latest .AppImage from GitHub Releases:

chmod +x LikX-*.AppImage
./LikX-*.AppImage

Debian/Ubuntu (.deb)

wget https://github.com/AreteDriver/LikX/releases/latest/download/likx_amd64.deb
sudo dpkg -i likx_amd64.deb
sudo apt-get install -f  # Fix dependencies

From Source

git clone https://github.com/AreteDriver/LikX.git
cd LikX/LikX
./setup.sh
python3 main.py

Quick Start

likx                    # Launch GUI
likx --fullscreen       # Capture fullscreen
likx --region           # Capture region
likx --window           # Capture window

Global Hotkeys (GNOME)

Shortcut Action
Ctrl+Shift+F Fullscreen capture
Ctrl+Shift+R Region capture
Ctrl+Shift+W Window capture
Ctrl+Alt+G Record GIF
Ctrl+Alt+S Scrolling screenshot

Hotkeys are customizable in Settings > Hotkeys

Editor Shortcuts

Shortcut Action
Ctrl+Shift+P Command Palette
Ctrl+S Save
Ctrl+C Copy to clipboard
Ctrl+Z / Ctrl+Y Undo / Redo
Delete / Backspace Delete selected annotation
V Select tool (move/resize)
P H L A Pen, Highlighter, Line, Arrow
R E T B Rectangle, Ellipse, Text, Blur
X M N I Pixelate, Measure, Number, Color Picker
S Z K C Stamp, Zoom, Callout, Crop
Right-click Radial menu

Platform Support

Platform Status Tools Required
X11 Full xdotool
Wayland (GNOME) Full gnome-screenshot
Wayland (KDE) Full spectacle
Wayland (Sway) Full grim

Tested on: Ubuntu 22.04/24.04, Fedora 39/40, Arch, Pop!_OS, Manjaro, Debian


Comparison

Feature LikX Flameshot Ksnip Shutter
Wayland Yes Partial Yes No
X11 Yes Yes Yes Yes
GIF Recording Yes No No No
Scrolling Capture Yes No No Yes
OCR Yes No Yes No
Pin to Desktop Yes No No No
Visual Effects Yes No No Yes
Blur/Pixelate Yes Yes Yes Yes
Cloud Upload Yes Yes Yes Yes
Multi-language Yes Yes Yes Yes
Snap Store Yes Yes Yes No
AppImage Yes Yes Yes No

Dependencies

Core:

  • python3 (>= 3.8)
  • python3-gi, python3-gi-cairo, python3-cairo
  • gir1.2-gtk-3.0, gir1.2-gdkpixbuf-2.0

X11: xdotool, xclip

Wayland: gnome-screenshot (GNOME), spectacle (KDE), grim (Sway)

GIF Recording: ffmpeg (X11), wf-recorder (Wayland), gifsicle (optional, for optimization)

Scrolling Capture: opencv-python-headless (pip), xdotool (X11), ydotool or wtype (Wayland)

OCR: tesseract-ocr, tesseract-ocr-eng


Project Structure

LikX/
├── main.py                  # Entry point
├── src/
│   ├── capture.py           # X11 + Wayland capture
│   ├── editor.py            # Annotation suite
│   ├── ui.py                # Main interface
│   ├── ocr.py               # OCR extraction
│   ├── pinned.py            # Pin to desktop
│   ├── history.py           # History browser
│   ├── effects.py           # Visual effects
│   ├── hotkeys.py           # Global shortcuts
│   ├── uploader.py          # Cloud upload
│   ├── notification.py      # Desktop alerts
│   ├── i18n.py              # Internationalization
│   ├── recorder.py          # GIF recording
│   ├── recording_overlay.py # GIF recording UI
│   ├── scroll_capture.py    # Scrolling screenshots
│   ├── scroll_overlay.py    # Scroll capture UI
│   ├── minimap.py           # Document navigation minimap
│   ├── onboarding.py        # First-time user tooltips
│   ├── quick_actions.py     # Quick action toolbar
│   ├── undo_history.py      # Visual undo timeline
│   ├── queue.py             # Capture batch queue
│   └── tray.py              # System tray integration
├── locale/                  # Translation files (8 languages)
│   ├── likx.pot             # Translation template
│   ├── es/LC_MESSAGES/      # Spanish
│   ├── fr/LC_MESSAGES/      # French
│   ├── de/LC_MESSAGES/      # German
│   ├── pt/LC_MESSAGES/      # Portuguese
│   ├── it/LC_MESSAGES/      # Italian
│   ├── ru/LC_MESSAGES/      # Russian
│   └── ja/LC_MESSAGES/      # Japanese
├── snap/                    # Snap packaging
├── AppDir/                  # AppImage packaging
└── debian/                  # Debian packaging

Contributing

  1. Fork the repository
  2. Create feature branch
  3. Make changes
  4. Run ruff check src/ main.py && ruff format src/ main.py
  5. Submit pull request

Adding Translations

  1. Copy locale/likx.pot to locale/<lang>/LC_MESSAGES/likx.po
  2. Edit the .po file with your translations
  3. Compile: msgfmt locale/<lang>/LC_MESSAGES/likx.po -o locale/<lang>/LC_MESSAGES/likx.mo
  4. Test: LANG=<lang> python3 main.py

To extract new strings after code changes:

./scripts/extract_strings.sh

License

MIT License - Free to use, modify, and distribute.


Metadata

Release files for likx 3.31.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for likx 3.31.0
File Size Uploaded Provenance Actions
likx-3.31.0.tar.gz 217.8 kB With provenance Details for likx-3.31.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for likx 3.31.0
File Interpreter ABI Platform Actions
likx-3.31.0-py3-none-any.whl Python 3 none any Details for likx-3.31.0-py3-none-any.whl

Total release size: 360.2 kB

Release files / likx-3.31.0.tar.gz

Download URL likx-3.31.0.tar.gz
Size 217.8 kB
Tags Source
SHA-256 checksum
How to use checksums
847ffaa9a0f5f97e84e9bc7274eddedef6eeb4cedeca9e5e5ac5972531bf4561
BLAKE2b-256 checksum
How to use checksums
42e8ddf351dc6fbc48c89c43dd3707750b55f3c7ba7aee56d267f63172513df8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Release files / likx-3.31.0-py3-none-any.whl

Download URL likx-3.31.0-py3-none-any.whl
Size 142.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f5070b9ad29d9cc68be2ba7de9febbb022ebeb2ee43b70cf2ff7fcf0776e5e8
BLAKE2b-256 checksum
How to use checksums
ae0d9b053997d0aa96f6db9da545038d10ee3d248016986556d0d0ff9b967720
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

Security for likx 3.31.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for likx-3.31.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.31.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page