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
JPEG, PNG, WebP, and GIF decode in your tab. We never upload them.
Before
After
Numbers below are realistic starting points from internal tests on 2400 px wide stills. Your mileage shifts with noise, color, and compression.
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.
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.
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.
Practical notes on methods, limits, and privacy.
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.
No. This page runs a simplified clip plus equalization blend tuned for speed in the browser. Use certified workstations for diagnostic imagery.
Yes. Auto fit inspects minimum and maximum luminance, then tightens points slightly outside those extremes so you regain headroom without hard clipping.
No upload occurs. Decoding, math, and canvas drawing stay inside your session. Save the PNG manually when you like the preview.
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.