Image contrast enhancement

You open a product shot from a gray Tuesday afternoon. The histogram hugs the middle. Nothing clips, yet the frame feels asleep. This lab stretches separation between deep shadows and bright highlights while you keep both feet inside the browser.

On-device pipeline

Signal lab

Drop a file or tap to browse

JPEG, PNG, WebP, and GIF decode in your tab. We never upload them.

Source

RMS contrast -Spread -
Load a file to see the untouched buffer.

Adjusted

RMS contrast -Delta -
Your tuned output renders beside the source.
Luminance histograms

Before

After

0
100%
0
255
1.0
One-tap recipes

Three scenes, three different moves

Numbers below are realistic starting points from internal tests on 2400 px wide stills. Your mileage shifts with noise, color, and compression.

Foggy city skyline
Dynamic range sat near 90. Sigmoid at +25 with strength 110 widened local separation without blowing street lamps.
Indoor LED product table
Range near 180. Linear +18 plus a white point pulled to 248 kept speculars under control.
Flat scan of pencil notes
Histogram mode at 80 percent strength plus black point 8 lifted paper gray away from mush.

How pixels move through this lab

You pick a curve family first. Linear remaps each channel around mid gray using a single gain factor. Sigmoid bends values through a smooth S so extremes move slower than mids. Histogram equalization reshapes the luminance stack so occupied tones spread wider, which helps dull captures and risks odd color when pushed hard.

Adaptive mode looks at a neighborhood around each pixel and stretches local contrast when the neighborhood has room. CLAHE here follows the same spirit with a clipped histogram so a single bright patch cannot steal the entire budget. After the main pass, black point, white point, and midpoint gamma behave like a classic levels tray.

For a wider view of how colors pile up, open color distribution on a sibling tab and compare shapes before you commit.

What shifts on screen, what does not

Exports are PNG snapshots of the preview canvas. Metadata from the original file does not ride along. Animated GIFs decode to a frame the browser hands off, so timing data is out of scope.

Very large files may feel sluggish on older phones because every slider move recomputes the whole raster. When a shoot matters, downscale first with the resizer, then return here.

Judgment: We reach for CLAHE only when local flat patches hide detail. For portraits with shallow depth of field, sigmoid usually wins because skin transitions stay smooth.

When both histogram walls glow red

Those vertical guides show where black and white points land. When both hug the far edges at once, you are asking the file to hold detail in deep shadow and specular highlight simultaneously. Phones rarely capture both cleanly.

Back off white point until the right wall breathes. Lift black point slowly until paper texture returns without veiling. If the scene truly held both extremes, you would have seen a wide spread in the source metrics before touching controls.

Printed work benefits from softer contrast than social feeds. A magazine spread at 300 dpi tolerates gentler S-curves because ink dots do not forgive clipped channels the way a phone OLED does. Match aggression to output, not to the slider maximum.

Contrast lab: quick answers

Practical notes on methods, limits, and privacy.

Why does histogram equalization sometimes tint my sky?

Equalization pushes luminance bins apart per channel interactions in this preview. When the sky occupies a narrow bin, aggressive equalization can separate neighbors unevenly. Back off strength or switch to sigmoid for aerials.

Is CLAHE here identical to desktop medical CLAHE?

No. This page runs a simplified clip plus equalization blend tuned for speed in the browser. Use certified workstations for diagnostic imagery.

Does Auto fit change my black and white points?

Yes. Auto fit inspects minimum and maximum luminance, then tightens points slightly outside those extremes so you regain headroom without hard clipping.

Will my upload reach your servers?

No upload occurs. Decoding, math, and canvas drawing stay inside your session. Save the PNG manually when you like the preview.

What should I do when improvement percent goes negative?

RMS contrast is not the same as "looks better." A softer portrait may lose measured spread while looking more natural. Trust your eyes and the histogram, not only the delta readout.