All tools
Native pixel sampling

Image Color Picker

Choose one local static image and sample its browser-decoded pixels. No uploads, camera, remote URLs or saved drafts; refresh clears memory.

One static JPEG/PNG/WebP, 20 MiB, 20 megapixels, 12,000 px per edge. Native pixels stay in a worker; display raster is bounded to 1600 px. Decode may allocate memory before limits can reject an image.

Clear retains only this one native worker raster and its bounded display for Undo; replacing an image or leaving closes them. sRGB browser decoding can change encoded colors and lose hidden RGB under alpha. Preview colors do not change sampled channels.

How to select a pixel

  1. Choose or drop a static JPEG, PNG or WebP. The displayed image and native sampling raster share orientation-corrected coordinates.
  2. Click the image, type zero-based x/y coordinates and Select, or focus the canvas and use arrows for one pixel, Shift+arrows for ten. Keyboard movement is bounded at edges.
  3. Change fit/100%/400% zoom, then copy a representation or download the current small JSON sample record. Coordinates outside the image show an error; exports are disabled while a selection is invalid or pending.

Worked example and alpha

A pure red opaque pixel gives R 255, G 0, B 0, alpha 255 (100%), #ff0000 without alpha, #ff0000ff with alpha and rgba(255, 0, 0, 1). Alpha 128 is approximately 50.2%. Preview backgrounds and checkerboard do not alter uncomposited sampled channels.

Mapping and orientation

Pointer mapping uses the actual displayed canvas content rectangle, including zoom and scrolling, floors the normalized coordinate and clamps rounding at the edge. Clicks outside content are ignored. Samples come from the native-resolution worker raster, never the scaled display. The display is bounded to 1600 pixels and may look enlarged at high zoom, but sample coordinates remain exact. Browser imageOrientation: from-image applies EXIF once; no second rotation is performed.

Limits and color limitations

20 MiB, 20 megapixels and 12,000 pixels per edge. Dimensions are checked in the container and again after decode. Decoding itself may allocate memory, so limits cannot guarantee success on every device. Clear keeps one native raster and bounded display buffers for Undo within approximately 100 MiB pixel storage, excluding compressed source and decoder overhead; replacing or leaving releases resources. No full-resolution clones for zoom/Undo. Corrupt files, SVG and animations detected in PNG/WebP containers are rejected.

Results are browser-decoded sRGB canvas colors, not original encoded channel guarantees or calibrated print measurements. Color profiles and decoder rounding can change samples. Fully transparent pixels may lose hidden RGB through premultiplication; there is no hidden-color recovery claim. JSON intentionally includes the local filename, decoded dimensions, coordinate and channels; these are never put in URLs or telemetry. Clipboard denial leaves selectable copy text. No palette extraction, batch processing or remote sampling.