piapia123
en

Image Filters

Images

Everything runs locally in your browser — nothing is uploaded

Drop an image here, or click to choose

Or press Ctrl/⌘ + V to paste a screenshot

PNG / JPEG / WebP / GIF / BMP / AVIF · up to 30 MB each

Ten one-click filters: vintage, faded, negative, X-ray, high contrast, cool, warm, greyscale, sepia, and a custom slot that only shifts contrast and saturation. Strength runs from 0 to 100%, and Keep the original contrast stops a filter from crushing the shadows and flattening their detail. Every filter is computed pixel by pixel rather than handed to `ctx.filter`. Browser support is uneven: `ctx.filter = "sepia(0.8)"` works in Chrome but not in some Firefox and Safari versions — and when it is unsupported it does not error or throw, it simply does nothing, so someone clicking vintage sees the original photo with no hint why. The core effects (greyscale, negative, sepia, brightness and contrast) therefore use matrices and curves of our own, identical across the three browsers. The vignette on vintage and X-ray is measured by normalised distance from the centre: the horizontal axis is normalised by half the width and the vertical by half the height, so a 16:9 photo and a 1:1 photo get the same shape rather than a squashed ellipse. Everything runs locally; the image is never uploaded.

Features

  • Ten filters: vintage, faded, negative, X-ray, high contrast, cool, warm, greyscale, sepia, custom
  • Strength from 0 to 100%, linear and live
  • Keep the original contrast, so the shadows are not crushed
  • Filters use pixel matrices and curves, not ctx.filter, which is unevenly supported and fails silently
  • Vignette on vintage and X-ray uses normalised distance, so its shape is aspect-ratio independent
  • Transparent PNGs stay transparent through a filter
  • Shows the filter, its strength and the resulting file size
  • Nothing is uploaded; it works offline

How to use

  1. Drop an image in
  2. Pick a filter and set the strength
  3. Turn on Keep the original contrast if the dark areas go flat
  4. Click Download to save the result

FAQ

Why not use the browser filter, ctx.filter?
Because support differs between browsers and failure is silent: setting sepia with no effect throws nothing and logs nothing, so the tool just looks broken. The core filters are therefore computed with our own pixel matrices and curves, which match across Chrome, Firefox and Safari and can be pinned down by unit tests.
When should Keep the original contrast be on?
When the filter leaves the picture flat. Faded and vintage both raise the black level, flattening the detail in the shadows; the switch adds the original luminance deviation back, restoring the light and dark without shifting hue. Leave it off for a stronger stylised look.
What strength should I use?
70% to 100% is visibly effective most of the time. Strength is a linear blend between the original and the full effect, so 50% is about half the flavour. All-or-nothing effects such as negative or greyscale want 100%; gentle ones such as cool or warm look more natural at 40% to 70%.
Is the image uploaded?
No. Filters are computed pixel by pixel in your browser, entirely in local memory, and it works offline.

Related tools