Home / Image Tools / Batch Image Hue, Saturation and Brightness
Free online tool

Batch Image Hue, Saturation and Brightness

Adjust hue, saturation and CSS brightness for up to 30 images locally. Preview each result and download separate PNGs at the original dimensions.

Start using

Batch Image Hue, Saturation and Brightness

Batch hue, saturation and CSS brightness adjustment for up to 30 selected images. Each file must have an image MIME type, be no larger than 25 MiB and decode to no more than 24,000,000 pixels. The selected batch is capped at 100 MiB and 40,000,000 decoded pixels.

Three global controls are shared by the batch: hue defaults to 0 degrees and is clamped to -360..360; saturation defaults to 100% and is clamped to 0..200%; brightness defaults to 100% and is clamped to 0..200%. Blank or nonnumeric fields use neutral defaults.

The browser canvas applies filters in this order to every image: hue-rotate(angle), saturate(percent), brightness(percent). The neutral 0/100/100 combination makes no intended color adjustment. Saturation 0 removes chroma and brightness 0 makes RGB black while retaining each image's geometry.

Worked batch example: load a landscape and a portrait, enter hue 45, saturation 150 and brightness 80, then Generate. Both use hue-rotate(45deg) saturate(150%) brightness(80%), keep their own original dimensions and show separate previews. Values 500/-20/250 are capped to 360/0/200.

The control named brightness is the browser CSS brightness filter, not direct HSL lightness. Exact output RGB is browser filter processing, not a published HSL conversion formula. The adjustment is whole-image only; there are no masks, curves, automatic white balance, ICC or RAW controls.

Each result is encoded as PNG and named from its original base name plus -hsl.png. Download all starts separate downloads about 180 ms apart; it does not create a ZIP, preserve the input format, or offer an output-format selector.

The interface lists PNG, JPEG, WebP, GIF and BMP inputs, subject to browser decoding support. Processing is local in the browser. Generate must be pressed again after changing values; there is no automatic live preview. Strong saturation or brightness can clip visible detail, so retain the originals.

Processing takes place locally in your browser.