# Colorpicker: an Electron color manager with an eyedropper and a palette book

> Colorpicker is an Electron desktop application for getting and saving colour codes quickly on macOS, Windows and Linux, with an eyedropper that reads any pixel on screen, a Colorsbook palette manager, shading bars for hue, natural colour and lightness, and a random colour generator. It is GPL-3.0 licensed and the current release is 2.3.0 from 2025-10-02.

**Toinane/colorpicker** — Your powerful toolkit for mastering colors.

- Repository: https://github.com/Toinane/colorpicker
- Website: https://colorpicker.fr
- Stars: 1,901 · Forks: 140
- Language: JavaScript
- License: GPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/toinane-colorpicker

## A colour tool whose centre of gravity is the eyedropper

Colorpicker is a desktop tool with Electron to get and save colors code quickly for OSX, Windows and Linux, and the repository describes it as modern and powerful color management software with the tagline about being your powerful toolkit for mastering colors.

The feature list is organised around the menu, and one entry stands out. The Picker opens an eyedropper who can pick a color from your desktop, and it allows you to quickly retrieve a color anywhere on the screen, whether it is on your browser, Photoshop, or whatever.

That single capability is what the rest of the application is arranged around. A colour picker in a browser can only read pixels in its own page. A desktop eyedropper reads the whole screen, including the colour you are trying to match from a photograph, a video frame, or another application. Everything else in the app, the shading bars, the palette, the clipboard, exists to take that sampled colour and do something with it.

The other menu entries follow from that. Pin brings Colorpicker to the foreground, which makes it convenient to work quickly with different applications at the same time. Shading shows three bars of shading, a hue bar, a natural bar and a lightness bar, and with the shades you can find the perfect color you need. Clean Vue, described in the menu as unshowing menu, ranges and inputs, is the Focus Mode feature, which hides the sliders and makes the menu more transparent so you can compare a colour or clean up the interface. Random shows a random color. Magic color shows colors from the clipboard, and is still marked as work in progress, currently displaying the first color that is in your clipboard, working with hexadecimal and RGB codes. Settings opens the preferences panel.

The application is distributed on GitHub releases, as a Snap through snapcraft, and the site is colorpicker.fr. The release history is 2.3.0 from 2025-10-02, 2.2.2 from 2024-06-04 and 2.2.1 from 2024-05-14, and the last push was on 2026-08-20.

## Colorsbook is a real palette manager, not a swatch list

Colorsbook is the feature that turns a sampler into a tool, and the description of it is short.

It is a full-fledged application, it allows you to store your colors, categorize them, and easily retrieve them, and it is destined to mature over time. There is a cool tip too, that you can save a color from colorpicker with `CMD+S` or `CTRL+S`.

The keyboard shortcut is the interesting detail, because it reveals the intended flow. You sample a colour with the eyedropper, you decide it is worth keeping, you press the same shortcut you use everywhere else to save, and the colour is filed in Colorsbook. No window has to be opened and no form filled in. A picker that makes you context-switch to file a colour is a picker you stop using after a week.

The categorisation is what turns it into a palette manager rather than a list. A flat list of every colour you have ever sampled becomes useless within a month, because finding the right shade from three hundred entries is harder than picking it again. Colour naming and grouping is the whole discipline, and Colorsbook models it as a first-class structure rather than an afterthought.

The project also runs a Crowdin localisation project, with a call for help in the readme, and the badge shows the translation status. For a desktop utility, localisation through Crowdin rather than through pull requests is a reasonable way to get a dozen languages without maintaining twelve forks of the issue tracker.

## The native module is the hard part of the build

The development section is the part of the readme that tells you what this project actually is underneath, and it is a native Electron application with a C++ component.

The prerequisites are per platform. On Windows you need the Visual Studio Installer with the Development with C++ module, plus the latest Python version. On macOS you need the latest Xcode Command Line Tools and the latest Python version. On Linux you install the libxtst-dev and libpng++-dev packages, `apt-get install libxtst-dev libpng++-dev`, and the latest Python version if not already installed.

The build itself is four steps:

```shell
npm install
```

```shell
npm run rebuild
```

```shell
npm start
```

```shell
npm run release
```

The second step is the one that matters. It rebuilds the C/C++ modules to the correct Electron version, and the script says exactly what that means: `npm rebuild --runtime=electron --target=38.2.0 --disturl=https://electronjs.org/headers --abi=139`. The Electron version, the headers URL and the ABI number are all pinned, and the `build_from_source` flag in the config confirms that the native modules are compiled rather than downloaded.

The dependencies explain why. There is `robotjs` and `iohook` for global input hooks, which is how a system-wide eyedropper follows the mouse, and `osx-mouse` and `win-mouse` as optional dependencies for the same purpose on each platform, both pointing at the author's own forks on GitHub rather than the upstream packages. A system-wide eyedropper on macOS and Windows needs platform-specific mouse event capture, and those two modules are the platform-specific parts.

That is a real cost of the design. A system-wide eyedropper on macOS and Windows needs platform-specific mouse event capture, and those two modules are the platform-specific parts. The cost of the design is that anyone building this needs a C++ toolchain, a Python installation, and a rebuild step pinned to a specific Electron ABI, which means an Electron upgrade requires a rebuild and a re-release of the native modules. The `iohook` configuration in the manifest targets `electron-139` and lists platforms explicitly, so the maintainer keeps the ABI mapping current by hand.

## Packaging for three platforms, with Snap as a first-class target

The release scripts show how the application is shipped, and there is one detail that says the maintainer treats the project as a real desktop product.

The `release` script runs electron-builder with `--publish=never` and a config file at `build/colorpicker-build.json`. The `release-linux` variant adds `--linux deb appImage`, so Linux gets both a Debian package and an AppImage. The `release-window` variant adds `--win nsis portable`, so Windows gets an NSIS installer and a portable executable. And there is a separate `release-snap` script running `snapcraft snap`, with the `publish` script pushing to the stable channel.

The AppImage and the portable build are the two worth noting. Both are single-file, no-install distributions, and for a utility like a colour picker, which people install and uninstall freely, an AppImage or a portable exe is often the format people actually want. The `snap/` directory at the root of the repository is the Snapcraft definition, and the `build/` directory holds the icon and the electron-builder configuration.

The `snapcraft.io` badge in the readme confirms the Snap is published, and the fact that there is a separate `release-snap` script alongside the electron-builder ones means the Snap is not built by electron-builder either.

The `config` block in the manifest is worth reading as a whole, because it is the native build configuration in one place: the Electron `target` of 38.2.0, the `disturl` pointing at the Electron headers, the `runtime` set to electron, and `build_from_source` set to true. Every one of those keys exists because of the native modules, and if you fork this project and change the Electron version, all four have to change together.

## Where Colorpicker is the wrong tool

The first case is a team that needs a shared palette. Colorsbook is a local store. The project says it allows you to store your colors and categorize them, and there is no mention of sync, sharing or a team palette, so a design team that wants one agreed set of brand colours is looking for a different tool. A web-based palette service with shared collections is the obvious answer, and it comes with a browser and a bookmark instead of a native application.

The second case is a user who only needs an eyedropper. The browser's own EyeDropper API and the eyedropper in a screenshot tool cover the basic need, and they come with none of the build friction this project has.

The third case is a machine where you cannot install a native module. The eyedropper depends on `robotjs` and `iohook`, which need to be compiled against the Electron ABI, and the build requires a C++ toolchain and Python. In a locked-down corporate environment, or on a platform where the prebuilt binary does not exist, that is a barrier.

The fourth is a colour workflow that needs more than picking and shading. Colorpicker samples a colour, shades it and files it. It does not do contrast checking, palette generation from an image, or design token export, and the feature list does not claim them. A dedicated design tool covers those.

A note on the feature maturity. Magic Color is explicitly marked as work in progress and currently only displays the first colour in the clipboard, and Colorsbook is described as destined to mature over time. The application is complete enough to use daily, but the two features that would turn it into a full colour management tool are the two that are still in progress. The version number, 2.3.0, is stable-looking while the feature set is still moving, and the last push in August 2026 with no release since October 2025 suggests the work is currently on the code rather than on a shipped build.

## Conclusion

Colorpicker fits a designer or developer who picks colours from screen content all day and wants the hex or RGB value immediately, without opening a browser and a separate eyedropper. It does not fit a team that needs a shared, version-controlled palette, since Colorsbook is a local store rather than a synced service, and it does not fit a project that needs plugin-free native code, since the eyedropper depends on native modules. Before you build it, note the native module rebuild step, which pins the ABI to a specific Electron version, and check the optional per-platform mouse modules, which are what make the eyedropper work at all.

## FAQ

### What does Colorpicker do?

It is an Electron desktop tool for getting and saving colour codes quickly on macOS, Windows and Linux. It has a screen-wide eyedropper, a Colorsbook palette manager for storing and categorising colours, three shading bars for hue, natural colour and lightness, a random colour generator, and a clipboard colour feature.

### How do I build Colorpicker from source?

Install the per-platform prerequisites, which are the Visual Studio C++ module on Windows, the Xcode Command Line Tools on macOS, and libxtst-dev plus libpng++-dev on Linux, each with Python. Then run `npm install`, `npm run rebuild` to rebuild the native modules against the pinned Electron version, `npm start` to launch in development mode, and `npm run release` to build a package.

### How do I save a colour I have picked in Colorpicker?

With `CMD+S` or `CTRL+S`, which saves the current colour into Colorsbook. The documentation calls this a cool tip, and it is the shortcut that makes filing a sampled colour quick enough to be used every time.

### What licence is Colorpicker under and how is it distributed?

It is licensed under GPL-3.0. Builds are published on GitHub releases, as a Snap through snapcraft, and through electron-builder for Linux Debian and AppImage packages and Windows NSIS and portable executables.

## Sources

- [License: GPL-3.0](https://github.com/Toinane/colorpicker/blob/master/LICENSE)
- [Project website](https://colorpicker.fr)
- [README](https://github.com/Toinane/colorpicker/blob/master/README.md)
- [Releases](https://github.com/Toinane/colorpicker/releases)
- [Toinane/colorpicker on GitHub](https://github.com/Toinane/colorpicker)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/toinane-colorpicker
