Analyze color distribution with RGB, luminance, and individual channel histograms. Features exposure analysis, statistics, and comparison tools.
Initializing in your browser…
Convert images to Base64 encoded strings for embedding in CSS, HTML, or JavaScript. Multiple output formats available.
Compare two images with a perceptual engine (pixelmatch) that ignores anti-aliasing, or an exact byte engine. Groups changes into regions with bounding boxes, reports SSIM, and handles size mismatches with an explicit policy.
Crop and trim images with precision visual selection. Features aspect ratio presets (1:1, 16:9, 4:3), free-form cropping, grid overlays, and pixel-perfect adjustments for professional results.
A photo looks flat and you need to confirm whether it is under-exposed before correcting it.
Input
photo.jpg · RGB + luminance histogram
Result
Tones bunched in the left third, right side empty → under-exposed, headroom to brighten
A histogram plots how many pixels fall at each brightness level; data crammed at the dark end with an empty highlight region objectively confirms under-exposure. It turns "looks dark" into a measurable correction.
View the tonal distribution of any image as a histogram chart. See how pixel values are distributed across shadows, midtones, and highlights for each color channel (red, green, blue) and for overall luminance. A handy diagnostic tool for photographers and anyone evaluating exposure.
Quickly assess whether a photo is underexposed, overexposed, or well-balanced.
Compare RGB channels to identify color casts or imbalances.
Check that tonal range uses the full spectrum before sending images to print.
The histogram is computed by reading every pixel through the Canvas API and counting values into 256 bins per channel - red, green, and blue directly, plus a luminance series derived with the standard Rec. 601 weighting (0.299R + 0.587G + 0.114B), which matches how bright each pixel actually looks rather than averaging the channels equally. You can view any single channel, the luminance curve, or all three RGB curves overlaid, switch between four rendering styles (filled, line, bars, smooth), and choose among four scales: standard linear, logarithmic (which lifts sparse bins so small features stay visible), cumulative, and normalized.
Four one-click analysis presets (Exposure Check, Color Balance, Contrast Analysis, Clipping Detection) configure the view for a specific question. Exposure Check reads the luminance mean and labels the image underexposed below a mean of 85, overexposed above 170, and balanced in between. Clipping Detection switches to the luminance curve and pairs with a warning panel that reports the exact percentage of pixels in the darkest bins (0-4) and brightest bins (251-255) whenever either exceeds 1 percent - a meaningful percentage there means crushed shadows or blown highlights that no edit can recover - and a separate Show Clipping Zones toggle shades the shadow and highlight ends of the chart. The stats panel also gives the mean, median, and standard deviation of the distribution plus a shadows/midtones/highlights split (bins 0-84, 85-169, and 170-255 as percentages), so "looks a bit dark" becomes a measurable statement.
Hovering the chart shows the pixel count for the bin under the cursor, and the Export tab lets you take the data with you: download the full 256-bin counts as CSV, save the rendered chart as a PNG, or copy the summary statistics as text. Everything is computed locally in your browser - the photo is never uploaded.
It depends on the image. Generally, a well-exposed photo has a smooth spread of values without hard spikes at either edge. But a high-key portrait or low-key artistic shot will naturally skew one way.
The histogram is read-only, it is a diagnostic tool. Use the Image Filters or Color Grader tools to make adjustments based on what the histogram reveals.
Images are decoded, edited, and exported entirely inside this browser tab. No originals, exports, or metadata are uploaded.