Adjust brightness, contrast, saturation, hue, blur and opacity on a photo and download the result. The preview is live, and the file you export is rendered from the same settings you can see — nothing is uploaded at any point.
Each slider maps to a single standard filter function, and the export applies exactly the combination you see in the preview. Because the controls are independent, the adjustments compose: raising contrast after lowering brightness gives a different result from the reverse order only in feel, not in arithmetic, since the functions are applied in a fixed sequence rather than in the order you touched them.
| Alternative | Notes |
|---|---|
| Grayscale | Full desaturation at 100 percent. The single most useful preset here, and the one worth replacing with the saturation slider at 0 if you want to control contrast separately. |
| Sepia | A full sepia tone, which pushes the whole image toward warm brown. Applied at 100 percent it is strong; there is no partial version, so use the saturation and hue controls for a subtler warm cast. |
| Invert | Reverses every channel, turning the image into a negative. Useful for checking scanned film negatives and for inspection work rather than for presentation. |
| Slight Blur | A 2-pixel blur, intended for softening rather than obscuring. Because the radius is in output pixels, the effect on a high-resolution photo is much weaker than on a small one. |
| Vivid | Brightness up to 120, saturation to 130 and contrast to 110. A moderate punch-up that suits flat photos taken in overcast light, and too much for anything already saturated. |
| Vintage | Brightness 110, saturation down to 60, contrast 110 and sepia at 20. The reduced saturation is what separates this from a plain warm filter — it mutes the colour rather than tinting it. |
| Dramatic | Brightness down to 90, contrast up to 140 and saturation to 120. The high contrast is the dominant effect, and it clips highlights quickly on images that are already bright. |
| Cool | A 180-degree hue rotation with brightness and contrast nudged. Rotating hue by half a turn swaps each colour for its opposite, which is a much stronger move than the name suggests. |
| Warm | A minus 30 degree hue rotation with saturation at 140. Shifting hue backwards warms the image, and the saturation lift is what makes it read as golden rather than merely yellow. |
The tool is straightforward, but several behaviours are easy to be surprised by.
No. The image is read into the browser with a file reader, drawn onto a canvas that exists only in memory, and encoded locally. There is no upload step anywhere in the process, which is also why the page continues to work with no network connection once it has loaded.
Because the filtered result is rendered onto a canvas and canvas export produces PNG. Keeping it lossless avoids a second round of compression artefacts on top of the adjustments, which matters if you are going to edit the result further. If file size matters more than fidelity, run the PNG through a converter afterwards.
The reset control returns every slider to its default, which is the fastest way back to the original. Because the adjustments are applied to the preview at render time rather than baked in, resetting restores the source image exactly — nothing is destructive until you export.
Yes, and this is worth stating because it is a common failure in browser-based editors. The preview and the export are generated from one shared filter definition, so a preset that renders the preview in greyscale also produces a greyscale file. If you ever find the two disagreeing, the export is the one to trust against the settings.
Last verified: October 3, 2026
All Tools · All Tools · About · How We Test · Contact · Privacy
Maintained by Huang Bin · Last updated October 3, 2026