Loading...
Loading...
Drop in a photo or screenshot, hover for a magnified loupe, click to pick a pixel — copy HEX, RGB, or HSL, and assemble a palette of up to 20 colors as paste-ready CSS variables.
An image color picker reads the exact RGB value of a single pixel from a photo, screenshot, or design mock-up so you can use that color elsewhere — in a brand palette, a CSS variable, a theme token, or a paint match. Designers use it to extract colors from inspiration boards. Front-end developers use it to match a screenshot to a CSS theme. Marketers use it to pull brand colors out of a logo. Painters and crafters use it to match a real-world photo to a paint chip or thread. Unlike a 'dominant color' detector, this tool gives you per-pixel control: hover to preview, click to capture. The magnified loupe shows you the exact pixel under your cursor at 8× zoom, so picking a single highlight or a 1-pixel border is straightforward. Everything runs in your browser — your image never leaves the page.
Drag a JPG, PNG, WebP, GIF, or BMP file onto the upload area, or click to pick from your device. The image renders in the workspace at preview scale, but pixel sampling happens against the original-resolution copy.
Move your cursor over the image. A magnified loupe appears above the cursor showing the exact pixel under it at 8× zoom, with a 1-pixel marker in the center. The cursor color card below the canvas updates live with HEX, RGB, and HSL.
Click any pixel to add its color to the palette. Duplicates are skipped automatically, so it's safe to click around without bloating the list. Up to 20 colors fit in one palette.
Click any HEX, RGB, or HSL in the palette to copy it to the clipboard. Click the swatch itself to copy its HEX. The whole palette also exports as a block of CSS custom properties (--color-1, --color-2, …).
Click New image to clear the workspace and load a different file. Use Clear inside the palette card to keep the image but start the palette over.
1. Decode the source file with new Image() — the browser handles JPG/PNG/WebP/GIF/BMP natively. 2. Draw the original-resolution image to an off-screen canvas. 3. Render a downscaled preview to the visible canvas (max 900 px on the longer side). 4. On hover, map cursor (x,y) from preview-space back to source-space coordinates. 5. Read the pixel via getImageData(sx, sy, 1, 1).data → [R, G, B, A]. 6. Convert to HEX (R/G/B as 2-digit hex) and HSL (rgbToHsl).
Sampling against the full-resolution canvas (rather than the preview) matters because downscaling averages neighboring pixels — what looks like a clean red on a 100px-tall preview may be (240, 30, 30) instead of the source's exact (255, 0, 0). Mapping cursor coordinates back to the source resolution and sampling there keeps the picked color faithful to the original file. The loupe takes the same approach: it grabs a small square of the original-resolution canvas around the cursor and renders it at 8× into a 120-pixel circle, with imageSmoothingEnabled = false so individual pixels stay sharp.
Reference: MDN — CanvasRenderingContext2D.getImageData
| Source | Best workflow |
|---|---|
Brand logo PNG with a transparent background | Hover the loupe over the solid colored area, click once. Copy the HEX. Done in two clicks. PNG transparency renders against the page background — sample inside the logo, not the edge. |
Inspiration screenshot from a design site | Pick the background, the primary action color, the secondary accent, and the body text color. Copy CSS variables. Four-color palettes are usually enough to recreate a design system. |
Photo for art reference (sky gradient, paint match) | Use the loupe to pick exact pixels along the gradient. Build a 5-7 color palette to recreate the look. Photo gradients have noise — pick from solid-looking areas, not edges. |
Bug-report screenshot with the wrong shade of red | Hover the loupe over the bad red, copy the HEX, paste into the issue with the expected HEX next to it. The loupe makes 1-pixel borders and hairlines pickable without zooming the browser. |
Cut out the subject from any photo with on-device AI — no upload required.
Shrink JPG, PNG, or WebP files in your browser with an interactive quality slider.
Adjust, filter, rotate and crop photos in the browser — no uploads, no watermark.
Compose memes and screenshot collages with real layers — paste, drag, crop, caption, export.
Last updated