View an Image's RGB Histogram
A histogram counts how many pixels sit at each brightness level, one curve per channel. It's the fastest way to see objectively whether an image is underexposed, flat, or clipping — questions your eyes answer unreliably, especially on an uncalibrated screen.
Drop images here
Multiple files allowed
How to read the shape
The horizontal axis runs from black at 0 to white at 255; height is how many pixels are at that level. A well-exposed photograph usually spreads across most of the range without piling up at either end.
Everything bunched to the left — underexposed, and the fix is Gamma rather than brightness, because gamma lifts the shadows without destroying the highlights. Bunched to the right — overexposed, and detail at 255 is gone for good. A narrow hump in the middle — flat and low contrast, which Contrast will stretch. Channels displaced from each other — a colour cast, correctable with Colour temperature if it's on the warm-cool axis.
The clipping numbers are the useful part
A spike at exactly 0 or exactly 255 means clipped pixels: values that hit the limit and were truncated. Clipped highlights are pure white with no detail; clipped shadows are pure black. Neither can be recovered by any adjustment, because the information was discarded at capture or at export.
Small percentages are normal and often correct — a specular reflection should be white, and genuine shadow should be black. Several percent on a normal scene means real lost detail. This is also the check to run after applying an adjustment: brightness, contrast and colour temperature all push values off the end of the scale, and the histogram tells you how much you destroyed.
Two details about the measurement. Transparent pixels are excluded, so a logo on a transparent background reports the logo rather than a huge spike from empty space. And the vertical scale is normalised to the tallest peak, so a large flat background can dwarf everything else — that's what the logarithmic scale option is for. It compresses the tall peaks and makes small counts visible, which is how you spot a handful of clipped pixels that a linear scale renders invisible.
FAQ
Why is there a huge spike at one value?
A large area of uniform colour — a studio backdrop, a flat UI background, a solid border. Perfectly normal for graphics; on a photograph it usually means a blown sky or a filled shadow.
Can I get a luminance histogram instead of RGB?
The chart shows the three channels; luminance is computed internally for the statistics. Run Grayscale first if you want a single curve — all three channels will then coincide.
Does it work on 16-bit images?
The browser decodes to 8 bits per channel, so a 16-bit PNG is measured at 8-bit precision. Fine for judging exposure, not for precision analysis of high-bit-depth data.
Can I save the chart?
Yes — a download row appears beneath the card with the chart as a PNG, useful for a bug report or a before/after comparison.