Skip to content
nah

Color Correction

Real-time brightness, contrast, exposure, and color temperature adjustments powered by WebGL2. No upload.

100% in your browser — files never leave your device

GPU-accelerated color correction in the browser

Photo editing tools typically require a desktop app, a subscription, or at minimum a server-side render. This tool runs the entire color pipeline on your GPU using WebGL2 fragment shaders — the same technology used for real-time graphics in games and creative applications.

Each adjustment maps directly to a shader parameter. When you move a slider, the GPU recalculates every pixel in parallel and redraws the canvas in under 16ms. You get 60fps feedback without any round-trips, encoding delays, or quality loss from intermediate steps.

When you are ready to save, the export step encodes the final adjusted image via WebAssembly codecs — the same pipeline used in the image compression tool. You can choose WebP, JPEG, AVIF, or any other supported format at your preferred quality setting.

Frequently asked questions

Are my photos uploaded when I apply filters?

No. All adjustments run in your browser using WebGL2 fragment shaders. Your images are never sent to any server — editing and export happen entirely on your device.

What adjustments are available?

The tool covers the core color correction parameters: brightness, contrast, exposure, highlights, shadows, whites, blacks, saturation, vibrance, temperature, tint, and sharpness. Presets apply preset combinations of these values in one click.

Why is editing so fast?

Each adjustment is implemented as a GLSL fragment shader that runs on your GPU. The entire image is processed in parallel across GPU cores, so changes render in under 16ms and update at 60fps regardless of image size.

What formats can I export to?

You can export to WebP, JPEG, AVIF, PNG, OxiPNG, or JPEG XL — the same options available in the image compression tool. The export dialog lets you pick format and quality before downloading.

How do I compare the edited version to the original?

Hold down the "Hold to compare" button in the editing view. While held, the canvas shows the original image. Release to return to the edited view. This works at full resolution without any reprocessing.

Related tools