All tools

Image color picker — HEX, RGB & HSL

Pick colors from an image with an 8× pixel loupe. Copy HEX, RGB, or HSL values and extract a CSS color palette for free. Your image stays on your device.

Your files stay on your device
Precision color studioLocal files. Local processing. Your work stays yours.

Your next result starts here.

Drop an image here. Everything stays on this device.

JPG, PNG, WebP · up to 25 MB per file

Every shade, down to the pixel.

Choose an image for precision sampling and a dominant palette.

The details behind the tool

A color workflow that starts with the actual pixels.

A palette can begin with a photograph, a product mockup, a screenshot, or one small detail you want to carry into another design. The color studio combines deliberate pixel selection with a quick overview of the dominant shades in an image. You can inspect a location through the magnification lens, pick an exact decoded pixel, and export a value in the notation your next tool expects. The source image stays local throughout the process.

How the precision loupe works

The image is decoded in a worker and transferred as a bitmap to the sampling canvas. The canvas retains the source pixel dimensions even when the image is displayed smaller on the page. Pointer positions are mapped back to that original grid before sampling. The lens displays a thirteen-pixel neighborhood at eight times its size with smoothing disabled, which makes the individual squares visible. Clicking or tapping selects the pixel under the pointer instead of averaging a broad region of the displayed thumbnail.

Keyboard navigation provides another way to make a deliberate choice. Focus the canvas, move one pixel at a time with the arrow keys, hold Shift to move ten pixels, and press Enter to keep the current shade. The readout includes the pixel coordinate and its alpha value. Fully transparent pixels can contain unhelpful color data, so pay attention to opacity when sampling near cutout edges. HEX, RGB, and HSL exports describe the color channels; they do not include that alpha value.

Choosing a notation for the next step

HEX represents the red, green, and blue channels as a compact hexadecimal string. RGB spells out the same three channels numerically, while HSL expresses a related color through hue, saturation, and lightness. These are different notations for the selected sRGB color, not different swatches. The Tailwind export wraps the HEX value in an arbitrary background-color utility so it can be used directly in a project that supports that syntax. Each export button copies its complete displayed value.

Where the browser supports a secure native EyeDropper, the screen-picking button opens the browser's own selection mode. That can sample a visible color outside the image canvas and may include the effects of display rendering. When the API is unavailable, the image loupe remains the primary local picker. Clipboard permissions can also vary. The CSS export text remains selectable, so you can copy it manually if your browser does not grant programmatic clipboard access.

From one pixel to a useful palette

Dominant palette generation samples a bounded thumbnail in a worker, groups similar color channels into quantized buckets, and ranks those groups by occurrence. Nearby candidates are merged to avoid presenting several nearly identical shades. The result contains up to eight representative colors, depending on the image. A single-color icon should not acquire eight invented colors just to fill a row. Pixels with low opacity are excluded so a transparent background does not dominate the palette.

Frequency is useful, but it is not the same as visual importance. A small accent can be central to a design and still occupy too few pixels to appear in the dominant list. Use the loupe to add those deliberate selections. Copy the palette as CSS custom properties or save it as a stylesheet, then give the variables names that match their roles in your own interface. Test text contrast separately; an attractive source palette does not automatically produce accessible combinations for buttons, labels, or body copy.

Three steps. A finished file.

  1. Open an image locally

    Choose a JPG, PNG, or WebP image. The worker decodes it and computes a bounded dominant palette.

  2. Select a precise shade

    Move the eight-times loupe over the image and click, or navigate the canvas by keyboard and press Enter.

  3. Export the color or palette

    Copy HEX, RGB, HSL, or a Tailwind utility. Copy the generated CSS variables or download the palette stylesheet.

Further readingNative EyeDropper API
Useful answers before you export

A little clarity.

Why does the palette contain fewer than eight colors?

Similar shades are grouped, and mostly transparent pixels are excluded. Images with only a few distinct opaque colors naturally produce a shorter palette.

Does the screen picker work in every browser?

No. Native EyeDropper availability depends on browser support and a secure context. The Canvas loupe and keyboard sampling work without that API.

Will the value match every design application?

The value describes browser-decoded sRGB channels. Color profiles, HDR rendering, display calibration, and application color management can produce different appearances.