Eyedropper

A colour picker for GNOME written in Rust that picks screen colours and converts between a comprehensive set of colour space formats.

Eyedropper is a colour picker application for the GNOME desktop, built with GTK4 and libadwaita and written entirely in Rust. It lets you sample any pixel on screen and instantly see that colour expressed in over a dozen colour space formats — from plain hex to perceptual spaces like CIELAB and LCh. Aimed at developers and designers who work on Linux, it removes the need to reach for a browser extension or a separate conversion website every time you need a colour value in a specific format.

Features

  • Screen colour picking — Click anywhere on your display to sample a pixel's colour using the portal colour picker API.
  • Manual hex entry — Type a hex colour code directly into the input field without needing to pick from screen.
  • Comprehensive format support — Converts and displays colours in: Named (W3C colours, GNOME Palette, xkcd colour survey), Hex, RGB, HSL, HSV, CMYK, XYZ, CIELAB, HWB, CIELCh/HCL, LMS, and Hunter Lab.
  • Configurable format list — Choose which colour formats appear in the output and reorder them to suit your workflow.
  • Palette generation — Automatically generates a set of shades and tints from the picked colour.
  • One-click copy — Click any colour value to copy it to the clipboard instantly.
  • Picking history — Keeps a history of recently picked colours so you can return to a previous sample.
  • GNOME integration — Follows the system light/dark theme via libadwaita and integrates cleanly with the GNOME desktop.

Installation

The recommended installation method on any Linux distribution is Flatpak via Flathub:

flatpak install flathub com.github.finefindus.eyedropper

Arch Linux

Eyedropper is available in the AUR:

# Using paru
paru -S eyedropper

# Using yay
yay -S eyedropper

Nix / NixOS

nix-env -iA nixpkgs.eyedropper

Debian / Ubuntu / Fedora

No distribution package is currently available for Debian, Ubuntu, or Fedora. Install via Flatpak (see above) or build from source.

Building from source

You will need Rust (stable), meson, ninja, and the GTK4/libadwaita development libraries.

git clone https://github.com/FineFindus/eyedropper
cd eyedropper
meson setup builddir --prefix=/usr/local
ninja -C builddir
sudo ninja -C builddir install

Usage

Launch Eyedropper from your application menu or run it via the GNOME app launcher. The workflow is intentionally minimal:

# Launch from the terminal (Flatpak)
flatpak run com.github.finefindus.eyedropper
  1. Click the Pick colour button (eyedropper icon) in the header bar.
  2. Your cursor changes to a crosshair — click anywhere on screen to sample that pixel.
  3. The picked colour appears at the top. All configured colour format rows update immediately.
  4. Click any row to copy that format's value to the clipboard.

To enter a colour manually, type or paste a hex value (with or without the # prefix) into the hex input field at the top.

Configuring displayed formats

Open the Preferences window (Ctrl+,) to toggle individual colour formats on or off and drag them into your preferred display order. Only the formats you enable will appear in the main window.

Supported Colour Spaces

FormatExample output
Namerebeccapurple / GNOME Blue
Hex#663399
RGBrgb(102, 51, 153)
HSLhsl(270, 50%, 40%)
HSVhsv(270, 67%, 60%)
CMYKcmyk(33%, 67%, 0%, 40%)
XYZxyz(12.22, 6.97, 27.22)
CIELABlab(31.4, 38.3, -47.6)
HWBhwb(270, 20%, 40%)
CIELCh / HCLlch(31.4, 61.1, 308.7)
LMSlms(0.087, 0.048, 0.249)
Hunter Labhunterlab(26.4, 24.0, -30.9)

The Named format searches across W3C CSS colour names, the GNOME Palette, and the xkcd colour survey, returning the closest human-readable name for the sampled colour.

Eyedropper vs Other Colour Pickers

FeatureEyedroppergpickKColorChooser
DesktopGNOME (GTK4/Adwaita)GTK2/3KDE (Qt)
LanguageRustC++C++
Colour spaces13+64
Flatpak
Palette generation
Picking history
Format reordering

Eyedropper is the most capable native colour picker on GNOME in terms of colour space coverage, and the only one written in Rust with a modern libadwaita UI.