Skip to main content

Image Color Adjuster Pro — Curves, Levels & White Balance

Pro-grade colour controls in your browser: curves, levels, white balance, exposure, contrast, vibrance and saturation. All adjustments compile to a single per-channel lookup table for a fast, predictable result.

Tap to select a file

Supports JPG, PNG, WebP, up to 50MB

Runs entirely in your browser

What to do next

Related tools

About Image Color Adjuster Pro

The Image Color Adjuster Pro gives you the colour-grading panel out of a professional photo editor inside your browser tab. Tone curve with master plus per-channel R/G/B control points. Levels with input/output black-and-white points and a gamma midtone. White balance with temperature and tint. Exposure in stops. Highlights, shadows, vibrance, saturation, hue, contrast — every primary control a colourist would expect, applied as a single fast pass over the pixels, all running locally on the canvas in your browser.

The maths is the same approach professional editors use under the hood: every adjustment compiles into a per-channel lookup table, and a single canvas pass maps every pixel through it. Naive editors apply each adjustment as a separate full-pixel pass — exposure pass, contrast pass, white balance pass — which scales linearly with the number of adjustments and produces subtle 8-bit quantization artefacts as precision compounds across passes. Compiling the LUT once keeps the working set per pixel at three byte loads plus three byte stores regardless of how many controls are stacked, which is why the result on a 25-megapixel photo finishes in milliseconds rather than seconds.

Where this tool slots into a real workflow: you have a photo that needs a quick colour pass before it goes into a presentation, a website hero, or a social-media share, and reaching for a professional photo editor is overkill. Drop the photo in, lift the shadows, drop the highlights, dial up vibrance, fix the white balance, export. For a stylised look on top, chain the result into LUT Color Grading, which applies industry-standard .cube LUTs with trilinear interpolation. For sharpening after the colour pass, chain into Sharpen Image. The three tools together cover the same ground as a professional photo editor's Develop module Basic, Tone Curve, and Detail panels — minus the masking, healing and lens-correction features that are out of scope for a free single-tool workflow.

The HTML5 Canvas API does the entire pipeline locally; the photo bytes stay on your device, and the export is a direct download. PNG output preserves transparency for downstream compositing; JPG output flattens to white first to avoid the standard transparency-becomes-black mistake. The 50 MB upload cap covers everything from a phone photo to a high-resolution mirrorless export — RAW originals from a DSLR exceed that, but you would normally process those in a professional RAW developer and bring the rendered intermediate here for trim adjustments anyway.

How it works

  1. 1Drop a JPG, PNG or WebP photo onto the upload area. Files up to 50 MB are accepted.
  2. 2Adjust the controls: white balance temperature/tint, exposure stops, contrast, highlights, shadows, vibrance, saturation, hue, plus tone-curve and levels controls for fine-grained tonal mapping.
  3. 3Every adjustment compiles into a single per-channel lookup table — the same approach professional photo editors use internally for their develop modules.
  4. 4A single canvas pass maps every pixel through the composite LUT, then any HSL controls (hue / saturation / vibrance) are applied in a second short pass.
  5. 5Pick PNG output to preserve transparency or JPG output for the smallest file. Quality slider exposes 0.1 to 1.0 for JPG export.
  6. 6Download the result. Chain through LUT Color Grading or Sharpen Image to extend the colour-grading workflow.

Common use cases

  • Fix the white balance on a smartphone photo shot under fluorescent office lighting before posting on LinkedIn
  • Lift shadows and recover highlights on a holiday photo where the sun blew out the sky and shaded the foreground
  • Pre-grade a product shot for an Etsy listing — reduce yellow cast, boost vibrance, push the contrast gently
  • Apply a quick colour pass on a video thumbnail before exporting it to YouTube
  • Calibrate a stack of phone photos to a consistent look before assembling them into a slideshow or collage
  • Match a brand-colour palette by tweaking saturation and hue on lifestyle photography for a marketing email

FAQ

What kinds of adjustments are supported?

Tone curve (master plus per-channel R/G/B), levels (input black/white points + gamma), white balance (temperature/tint), exposure, contrast, highlights, shadows, vibrance, saturation, hue, and clarity. Each control compiles to a per-channel lookup table for a single fast pass over the pixels.

Which controls does it expose?

Tone curve (master plus per-channel R/G/B), levels (input black/white plus gamma), white balance (temperature/tint), exposure, contrast, highlights, shadows, vibrance, saturation, hue, and clarity. Each control compiles into a per-channel lookup table for a single fast pass over the pixels.

Will my photo upload anywhere?

No. Every adjustment runs through the HTML5 Canvas API inside your browser tab. The image bytes stay on your device.

How big can the input be?

Up to 50 MB. Larger files are typically RAW originals — convert those to a JPEG or 16-bit TIFF in your camera-RAW workflow first, then bring the rendered result here for trim adjustments.

Does it preserve transparency?

Yes. Output is PNG, which preserves any alpha channel from a transparent source. Toggle JPG in the export options if you need a smaller file and the source has no transparency.

Is this really equivalent to a professional photo editor?

For the Develop module Basic, Tone Curve and a subset of HSL panels, yes — the maths is identical, and the per-channel LUT approach is exactly what professional photo editors use under the hood. Where a professional photo editor pulls ahead is in features that are out of scope for a single tool: calibration profiles, lens correction, healing, masking, batch presets, and 16-bit precision throughout the pipeline. For free single-photo edits where your output is going to a screen at JPG/PNG quality, the gap is invisible.

Will my photo be uploaded?

No. Every adjustment runs through the HTML5 Canvas API in your browser tab. The image bytes stay on your device and the export is a direct download.

Does it work on RAW files?

No — RAW formats (CR2, NEF, ARW, DNG) need a debayering decoder we do not currently ship. Convert your RAW to a 16-bit TIFF or high-quality JPEG in a professional RAW developer first, then bring that rendered intermediate here for trim adjustments.

How is this different from Brightness/Contrast or Saturation Adjuster?

Those tools each expose a single primary slider as a quick fix. This tool gives you the entire colour-grading panel — curves, levels, white balance, vibrance, hue, plus all the simple sliders together — and compiles them all into one fast pass. Use Brightness/Contrast for a one-click fix; use this when you actually want to grade.

Why are the results sometimes posterised?

Aggressive curves or extreme levels collapse the 8-bit input into fewer than 256 distinct output values; the gaps show as visible bands in smooth gradients (most often skies). The fix is gentler curves — pull the points within a few units rather than dragging them across the diagonal.

Does it preserve transparency?

Yes when exporting PNG. JPG cannot represent transparency, so the tool paints a white background under any transparent pixels before the JPG export — the standard fix for the "transparency becomes black square" issue you see in naive canvas exports.

How big can the input be?

Up to 50 MB. The processor holds the input plus the per-channel LUTs in memory; 50 MB keeps mobile browsers stable. Most JPEGs and PNGs are well under that ceiling unless you are working with multi-shot panoramas or RAW exports.

LUT Color Grading

Apply cinematic 3D LUTs to a photo in your browser. Eight built-in looks ship inside the tool, plus a slot for any .cube LUT file you upload. Trilinear interpolation gives standard-spec results.

Add Noise to Image

Add monochrome film grain, colour noise, or salt-and-pepper specks to any photo. Choose noise type and amount; the result is rendered into a real PNG file in your browser.

Censor / Blur Region

Permanently censor a rectangular region of any photo with pixelation, blur, or a solid black bar. Specify exact x/y/width/height coordinates and the censor is baked into a real PNG — no recoverable original.

Skew Image

Apply real horizontal and vertical shear to any photo, turning a rectangle into a parallelogram. Choose X-skew and Y-skew angles from −60° to +60°; the tool re-renders to a real PNG with transparent corners.

Pixel Sorter

Apply real pixel-sorting glitch art to any photo: sort each row or column by brightness, hue, or saturation, with a threshold to control which pixels get included. Real PNG output.

Recompress JPEG

Upload a JPEG and re-compress it at a lower quality to reduce file size. Automatically strips EXIF metadata.

Data URI Image Encoder

Encode any image (PNG, JPG, GIF, WebP, SVG, BMP, AVIF, ICO) as a data URI using base64 or URL encoding. Live re-encode when you switch encoding mode, copy with one click, or download the result as a .txt file. Perfect for inlining tiny icons in CSS, single-file HTML emails, or browser-extension manifests.

Compress Image

Reduce image file size while preserving visual quality.

View all Image Tools