Back to HomeWeConvertFiles Guide

Image Color Picker and Screen Eyedropper

HEX / RGB picker

A color picker turns a visible pixel into a reusable code for CSS, design software, and brand systems. The Image Color Picker & Eyedropper accepts one JPG, PNG, or WebP. It loads the image into a canvas at natural resolution, maps your click from the displayed preview to the original pixel coordinates, and reports uppercase six-digit HEX plus rgb(r, g, b). If the browser supports the EyeDropper API, a separate action can pick a displayed pixel from anywhere on the screen.

Pick a color from an image

Quick answer. Upload an image, then click or tap the desired point in the preview. The color card shows a HEX code such as #1A73E8 and an RGB value such as rgb(26, 115, 232). Use Copy HEX Code before selecting another pixel. The route is named color-palette, but the active interface is a single-color pixel picker — it does not automatically extract, rank, or save a multi-color dominant palette.

How exact pixel sampling works

Upload one JPG, PNG, or WebP image, wait for the preview to load, then click or tap the pixel you want to sample. The image is displayed at up to 300 pixels high while the canvas retains its natural pixel dimensions, and the click handler scales the preview coordinates to the original raster, so sampling is not limited to the preview's CSS display size. When the image loads, the implementation creates an off-screen canvas using the image's natural width and height and draws the decoded image into it. A click position is converted proportionally:

sourceX = displayedClickX / displayedWidth × naturalWidth
sourceY = displayedClickY / displayedHeight × naturalHeight

The coordinates are rounded down to one source pixel, and getImageData() returns its red, green, blue, and alpha channels. The tool displays the RGB channels and computes uppercase HEX. This is more precise than taking the CSS-scaled preview color because interpolation can blend neighboring pixels on screen — though it still represents the browser-decoded raster, not necessarily untouched raw file channel values before color management.

HEX and RGB color codes

A six-digit HEX color uses two hexadecimal digits for each RGB channel in the form #RRGGBB, and RGB expresses red, green, and blue intensity from 0 to 255. Both describe the same opaque sRGB-style triplet in ordinary web usage:

HEXRGBDescription
#000000rgb(0, 0, 0)Black
#FFFFFFrgb(255, 255, 255)White
#FF0000rgb(255, 0, 0)Red
#00FF00rgb(0, 255, 0)Green
#0000FFrgb(0, 0, 255)Blue

Hex digits are case-insensitive in CSS; the tool outputs uppercase letters for consistency. It does not output HSL, HSV/HSB, LAB, LCH, CMYK, named colors, or eight-digit HEX alpha values.

Using the screen eyedropper

When window.EyeDropper is available, the interface shows Open Screen Eyedropper. Selecting it opens the browser's native magnifying picker; choose a pixel visible anywhere on the screen, and the tool converts the returned sRGB HEX value into both HEX and RGB. The browser API generally requires a supporting browser, a secure context such as HTTPS, a direct user action, and interaction with the native picker. If you cancel the picker, no new color is selected, and because support varies, the button is hidden when the API is unavailable.

On unsupported or mobile environments, the interface instructs you to tap the uploaded preview instead. There is no active manual <input type="color"> fallback exposed by the current UI.

Image picker vs. screen eyedropper

Image pixel pickerScreen eyedropper
Samples the uploaded raster at natural coordinatesSamples a pixel rendered on the screen
Works through canvas in ordinary supported browsersRequires EyeDropper API support
Useful for original image pixelsUseful for web pages, apps, and any visible screen area
Can differ from scaled visual previewCaptures the final displayed pixel

Screen colors can include display scaling, browser rendering, overlays, anti-aliasing, opacity, and color-management transformations. The image picker instead reads the browser-decoded source raster drawn on canvas.

Formats, transparency, and edge colors

The intended inputs are JPEG/JPG for photographs, PNG for graphics and transparency, and WebP for modern web images. Only one image is active at a time; the tool does not accept SVG through its declared interface, process a batch, or download a palette file. Animated formats are outside the intended scope — the canvas represents the decoded frame available when drawn.

Canvas returns an alpha channel, but the interface ignores it and reports only RGB/HEX, so a fully transparent pixel may read as #000000 without communicating that it is transparent, and a semi-transparent pixel's stored RGB is not always the color seen when composited over a page background. Edges, text, and curves often use anti-aliasing, so a click one pixel away can produce a different value; JPEG artifacts, gradients, shadows, resizing interpolation, and color profiles have similar effects. Sample several nearby pixels and choose a representative interior point for brand colors.

Color profiles and color management

Images can embed ICC color profiles or use wide-gamut spaces, and browsers may convert them for display and canvas access according to browser and device rules. The returned RGB value is therefore the canvas/browser interpretation, commonly suitable for sRGB web use, not a full preservation of original color-space metadata.

For print production, product color approval, medical imaging, or other color-critical work, use a color-managed application that identifies the source profile and target color space. HEX and RGB alone do not capture CMYK inks, spot colors, viewing conditions, or device calibration.

Building a palette and CSS variables

Although the route name contains "color-palette," the live interface retains only the currently picked color. Build a small palette manually by sampling a background color and copying its HEX into a document, then sampling primary, accent, and neutral colors, copying each before the next selection. The tool does not automatically identify dominant colors, cluster similar tones, rank frequency, preserve a swatch history, or export CSS variables/JSON. After copying selected values, create role-based design tokens:

:root {
  --color-brand: #1A73E8;
  --color-accent: #F9AB00;
  --color-surface: #F8FAFC;
  --color-text: #172554;
}

Name tokens by role rather than appearance — --color-brand is easier to update than --blue-500 when branding changes. Picking a color does not prove that text using it will be readable: contrast depends on both foreground and background, text size and weight, and accessibility criteria, and the current tool does not calculate contrast ratios or WCAG pass/fail results. Compare foreground and background with a separate contrast checker, and never communicate status by color alone.

Common problems

The eyedropper button is missing

The browser does not expose the EyeDropper API, or the context does not meet its requirements. Upload an image and click the preview instead.

Clicking the image returns a nearby shade

The area may be anti-aliased, compressed, or part of a gradient. Sample an interior region and compare neighboring pixels.

A transparent area returns black

Alpha is not displayed. The reported RGB value does not describe transparency.

The screen eyedropper and image picker disagree

One samples rendered screen output; the other samples the decoded raster. Scaling, compositing, and color management can create differences.

I cannot find an extracted palette

Automatic palette extraction is not exposed in the current active interface. Copy individual picked colors manually.

Copy does not work

Clipboard access can depend on browser permissions, HTTPS, and user interaction. Select the displayed HEX text manually if necessary.

Privacy and browser-based processing

The uploaded image is decoded and sampled in the browser with canvas. No dedicated color-analysis API is required, and the screen eyedropper is controlled by the browser and begins only after a user action.

Images can contain private faces, documents, screenshots, or locations. Client-side processing reduces one exposure route but does not protect against a compromised device, browser extension, clipboard history, or screen recording. Use representative or redacted assets when appropriate.

Frequently asked questions

Which image formats can I use?

The intended interface accepts one JPG/JPEG, PNG, or WebP image.

What color formats are shown?

Uppercase six-digit HEX and integer rgb(r, g, b).

Can I copy RGB directly?

The dedicated copy button copies HEX. RGB is displayed and can be selected manually.

Does it show transparency?

No. The alpha channel is not included in the displayed value.

Can I pick a color outside the uploaded image?

Yes, when the browser supports the native EyeDropper API. Otherwise use the uploaded image picker.

Why is the screen eyedropper unavailable?

API support and secure-context requirements vary by browser and platform.

Does it automatically extract dominant colors?

No. The current interface picks one exact color at a time and does not show a ranked palette.

Does it calculate accessibility contrast?

No. Use a separate contrast checker with chosen foreground and background colors.

Is the sampled color from the full-resolution image?

Clicks are mapped from the preview to the canvas drawn at the image's natural dimensions.

Can I download a palette?

No. Copy individual HEX values into your own document or design system.

Related tools

Favicon Generator

Build browser icons after selecting a high-contrast brand color.

EXIF Viewer / Remover

Strip metadata before sharing source photography.

WebP Converter

Convert an image to another raster format intentionally.

Related guides

HEIC to JPG / PNG Guide

Convert Apple HEIC photos to standard JPEG or PNG images in browser memory.

Crop Image Guide

Crop and trim image coordinates interactively with aspect ratio controls.

Bulk Image Resizer Guide

Resize multiple images in bulk by percentage, width, or height and download as a ZIP.

Pick a color from an image

Upload a JPG, PNG, or WebP and click a pixel to read its uppercase HEX and RGB value, then copy the HEX code.

Use Image Color Picker