Image Saturation Adjuster
Upload an image, change color saturation with a slider, compare the preview and download the adjusted copy. Processing takes place locally in your browser.
Start using
Increase or reduce color intensity
This tool changes every pixel with an amount from -100 to 100. Negative values move colors toward gray, zero leaves the image unchanged, and positive values push channels farther from their average.
Worked RGB example
For a source pixel RGB(100, 150, 200), an amount of -100 produces RGB(150, 150, 150). An amount of +100 produces RGB(50, 150, 250). Neutral pixels remain neutral.
How the adjustment is calculated
The browser calculates avg = (R + G + B) / 3. Each channel becomes avg + (channel - avg) * (1 + amount / 100), then is clamped to the valid RGB range. This is an arithmetic-mean saturation adjustment, not an HSL-channel edit or selective color mask.
Checks before downloading
- Inspect skin tones and already vivid edges because positive values can clip detail.
- Generate again after changing the control; loading the image alone does not apply the effect.
- Keep the original because canvas export may not preserve metadata or a color profile.
Frequently asked questions
Why does -100 create a gray image?
At -100 the multiplier becomes zero, so all three channels equal their arithmetic average.
Does +100 double perceived saturation?
No. The formula doubles each channel's distance from the average, but perceived color intensity is not linear and clipped channels can lose detail.
Can I adjust only one color range?
No. The same calculation is applied to every pixel. Use an editor with masks or selective color controls when only one range should change.
What happens if I set the amount to zero?
Zero leaves the image unchanged because the multiplier becomes one, so each channel equals its original value.
Will the download preserve the original file's metadata?
No. The processed image is exported as a PNG, which may not retain the original metadata or color profile. Keep the original file for archival purposes.
Processing takes place locally in your browser.