Image filters
Tune a photo with sliders or one-click presets, compare it with the original, and save the result at full size.
Your files never leave your device
Drop an image here
PNG, JPEG, WebP, GIF, BMP or AVIF. Or drag it anywhere on this page.
Opened on this device. Nothing is uploaded.
Works on a single picture of up to 50 MB and roughly 100 megapixels. Very large images take a few seconds; the page stays usable while it works.
How to apply filters to an image
- Choose an image. The preview appears at a reduced size so the sliders respond straight away.
- Start from a preset such as Black and white or Vivid, then adjust the sliders. Switch on Show original to compare.
- Press Apply and save. The filters are applied again to the full-size picture and you download it.
What each filter does to the pixels
Every pixel is three numbers from 0 to 255, for red, green and blue. Brightness multiplies those numbers, so 150 per cent turns a value of 100 into 150 and anything past 255 is clipped to white. Contrast stretches the numbers away from mid-grey (128) or squeezes them towards it, which is why 0 per cent contrast gives a flat grey picture. Saturation and hue rotation mix the three channels using fixed colour matrices, which is how a photo drifts towards grey or around the colour wheel.
Grayscale replaces each pixel with its luminance, a weighted sum that counts green most (about 72 per cent), red next (21 per cent) and blue least (7 per cent), because the eye is most sensitive to green. Sepia uses a matrix that gives the warm brown tint of old prints. Invert subtracts every value from 255 to make a negative. Blur averages each pixel with its neighbours, three times in each direction, which closely approximates a Gaussian blur.
Small previews make fast sliders, but the saved file is processed at full resolution in chunks, so the page keeps responding and shows progress. Once saved, the original file is untouched.
Tips
- To read an exact colour from the result, use the Image color picker.
- Filtering before adding a caption keeps the text crisp: do it in that order with Add text to image.
- A blurred, high-contrast image compresses very differently, so check the size afterwards in Compress image.
Questions
Is my photo uploaded?
No. Every filter is calculated in your browser on your device, pixel by pixel. Nothing is sent to a server.
Do the filters give the same result as in my browser's CSS?
They follow the same formulas as the CSS Filter Effects specification: brightness multiplies, contrast pivots around mid-grey, and saturation, hue rotation, grayscale and sepia use the specification's colour matrices. Doing the arithmetic in this page rather than through the browser's filter feature means it also works in browsers where that feature is missing.
In what order are the filters applied?
Brightness, contrast, saturation, hue rotation, grayscale, sepia, invert, then blur. The order is fixed, so the same slider positions always give the same picture.
Why does blur look the same in the preview and the saved file?
The blur amount is a fraction of the image width, not a number of pixels. A 4000-pixel photo previewed at 800 pixels is blurred five times less in the preview pixels, which looks identical once you see it at the same scale.
What happens to transparency?
It is left alone. The alpha channel is never changed, and the blur weights colours by opacity so the soft edges of a cut-out do not turn dark. Save as PNG or WebP to keep it; JPEG fills transparent areas with white.
Can I undo a preset?
Choose Reset, or drag the sliders back. Presets only move the sliders, and you can adjust them afterwards. Nothing changes your original file.