How the colours are found
The picture is shrunk to a small copy, about 200 pixels across, which keeps the colours but makes the work quick. Its pixels are grouped by k-means: start with a few colours spread across the picture, give each pixel to the nearest, move each colour to the middle of its pixels, and repeat until nothing moves. Distances are measured in OKLab, a colour space built so that equal steps look equal, so colours that look alike end up together. Groups that come out looking the same are merged.
Reading the result
Each colour shows its share of the picture, and the bar under the picture shows the same at a glance. Click a HEX or RGB code to copy it. Change Colours for between 3 and 12; a picture with fewer distinct colours than you ask for gives only the ones it has. Export the set as CSS variables, JSON, a Tailwind config, a GIMP .gpl palette or a PNG strip, or take it to the Palette Generator to lock some and generate the rest.
Questions
Is my picture uploaded?
No. It is opened and measured inside this page, on your device. Nothing is sent anywhere, and nothing is kept once you close the page.
Why is a colour slightly different from the one in my picture?
Each colour is the average of the pixels grouped into it, so a photo's colour is a blend of many close shades. For one exact pixel, the Color Picker's Pick from screen works in Chrome and Edge.
Why does the background take most of the share?
The share is by area, so a sky or a white background counts for a lot. Transparent parts of a PNG are left out.