ChromaLensRepo

Pick any pixel. Build palettes. Audit contrast.

Free, open-source color toolkit for Chrome, Edge, and Firefox. Pick pixels, extract palettes from any page, and audit WCAG contrast.

Live demo#8A63FF
Hex
#8A63FF
RGB
138, 99, 255
HSL
256, 100%, 69%
Harmonies
ChromeEdgeFirefox

Everything a color workflow needs, in one toolbar icon

Picker, extraction, harmony, and audit. No account, no telemetry, no runtime dependencies.

Precision picker

Native EyeDropper on Chromium, with a screenshot-based fallback and an 8x magnifier loupe on Firefox and Safari. Copy hex, RGB, or HSL in one click.

ChromaLens popup with the precision picker showing the selected color and its hex, RGB and HSL values

Harmonies

Complementary, analogous, triadic, split, tetradic, square, and monochromatic. Generated from any color.

Harmony tab generating a monochromatic palette from #8A63FF

Extract anywhere

Dominant colors from any page's CSS, a selected screen region, or any image. Weighted k-means in CIELAB, so the results look like the page, not a blur.

Capture tab for extracting colors from a screen region or an image

WCAG audit

Scan any page for contrast failures. Get AA and AAA badges for every pair, plus recommended fix colors that pass.

Audit tab showing WCAG contrast results

Named palettes

Save any capture as a named palette. Load, rename, delete. Up to 50, stored locally.

Export anywhere

One click to CSS variables, SCSS, Tailwind config, or JSON. Copy the whole palette or one value.

Local-first

No analytics, no telemetry, no network calls. Favorites, recents, and palettes never leave your browser.

network requests: 0

From pixel to production

Three moves cover the whole color workflow. Nothing else in the way.

Pick

Grab the exact pixel from any page, window, or image with the loupe-precise picker.

Extract

Pull a palette from the page CSS, a screen region, or any image you right-click.

Export

Ship as CSS variables, SCSS, Tailwind config, or JSON. Audit contrast before you commit.

Open source. MIT. Zero dependencies.

Built with WXT and strict TypeScript on the modern MV3 manifest. Every build is produced from source by CI, and the code is small enough to read in an evening.

  • MIT licensed, free forever, no account required
  • Zero runtime dependencies in the extension
  • 87 unit tests, including CIEDE2000 conformance pairs
  • CI on every push: compile, lint, test, build for Chromium and Firefox
setup~/chromalens
$ git clone https://github.com/webxlr8/Chromalens.git
$ cd Chromalens
$ pnpm install
$ pnpm dev        # Chrome with HMR
$ pnpm test       # 87 tests, green
$ pnpm build      # .output/chrome-mv3

Get ChromaLens

Store listings ship with the stable release. Until then, the beta loads from source in about two minutes.

From GitHub

  1. 1

    Clone and build the extension.

    $ git clone https://github.com/webxlr8/Chromalens.git
    $ cd Chromalens && pnpm install && pnpm build
  2. 2

    Chrome or Edge: open chrome://extensions, enable Developer mode, then Load unpacked and pick .output/chrome-mv3.

  3. 3

    Firefox: open about:debugging, Load Temporary Add-on, and select .output/firefox-mv3/manifest.json.

Store builds

ChromaLens targets MV3 on Chrome, Edge, Firefox, and Safari. When the stable release lands, it will be listed on:

  • Chrome Web Store
  • Edge Add-ons
  • Firefox Add-ons (AMO)
  • Safari, via the WXT build

Running the beta? Watch the repo for stable release announcements.Releases

Questions

Is ChromaLens really free?

Yes. MIT licensed, free forever, no account, no sign-up, no premium tier. The source is public and the build is reproducible from CI.

Does it collect any data?

No. The extension makes zero network calls. Favorites, recents, palettes, and theme preference live in your browser local storage and never leave your device.

Which browsers are supported?

Chrome, Edge, and Firefox on the MV3 manifest, with a Safari build supported through WXT. The picker uses the native EyeDropper API where available and falls back to a screenshot picker with an 8x loupe elsewhere.

How do I contribute?

Pick up an issue or open a PR. CONTRIBUTING.md covers setup and the gates: compile, lint, 87 unit tests, and both browser builds must pass before merge.