Image Palette Extractor

List the most common 5-bit colors in a local image, with pixel counts and percents. Fully transparent pixels are skipped. Nothing is uploaded.

Last updated: October 6, 2026

Tool

This tool will load here.

What this tool does

This image palette extractor counts decoded pixels into 32,768 buckets and returns the buckets you asked for, from 1 to 8, default 5. Each channel is shifted right by 3 bits, so 0–255 becomes 32 levels. The color printed for a level is the bucket center, (level shifted left by 3) plus 4, clamped at 255. The top level therefore prints 252, not 255. Rows are ordered by pixel count. Ties break by ascending bucket index. Percent is the count divided by the number of counted pixels, times 100, shown to one decimal with half-up rounding.

Fully transparent pixels are ignored. They are not a color in the list. A pixel with alpha from 1 to 254 is counted at its stored RGB. The page does not un-premultiply and does not drop partial pixels. If every pixel is alpha 0, extraction stops and the previous rows are cleared. If the image has fewer quantized colors than you asked for, only those colors are returned. Empty filler rows are not invented.

This is a frequency table of quantized pixels. It is not perceptual clustering, not a brand extraction, and not a CSS theme. When you need the exact pixel under the pointer, use the Image Color Picker. The picker and this list answer different questions: one coordinate, or the occupancy of the whole bitmap.

How to use

  1. Choose a JPEG, PNG, or WebP file.
  2. Leave Colors at 5, or choose 1 through 8. Enter in that list runs Extract.
  3. Extract. Copy writes HEX, RGB, count, and percent. Clear returns the count to 5 and drops the file.

The file stays in the browser. There is no upload and no storage of the pixel table after you leave the page.

Example

Two pixels of RGB 4,4,4 and one fully transparent pixel, with a request for 8 colors, return a single row #040404 with count 2. A request for 8 colors on a one-color image returns one row. Two different colors with one pixel each come back with the lower bucket index first, each at 50.0 percent. One third of the counted pixels prints 33.3 percent. A pixel at alpha 128 is included. A frame of only alpha 0 is an error, not an empty palette pretending to be black.

Changing the count and extracting again uses the same decoded image. It does not re-encode the file and it does not shift the buckets. Copy is a text table. It is not a stylesheet and not a set of CSS variables.

Limits

  • JPEG, PNG, and WebP are accepted. SVG, GIF, and HEIC are refused.
  • 8 MB, 8,000 px, and 16 megapixels. Every counted pixel is visited. There is no random sample.
  • The shown RGB is the bucket center, so nearby true colors share a row.
  • Work stays local. A result is not a design system.

JPEG files have no alpha, so every pixel is eligible. A logo exported as JPEG may have fringe colors that were anti-aliased against a background. Those fringe pixels get their own buckets if they are common enough. That is the honest count. It is not a cleaned brand swatch. If you need one exact coordinate after you see the list, go back to the color picker and click that point.

On this page

Related Articles

Related guides

Related solutions

Need another tool ?

Open the free tools — no signup.

FAQs

newsletter signup

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Innovative Solutions For Modern Needs
Copyright © 2026 Yallasolve. all rights reserved.