Image Converter

Convert and shrink images to WebP, AVIF, JPEG or PNG without uploading them anywhere

The images

    What to make

    bypixels

    The results

      Nothing yet. Add an image above.

      Drop in as many images as you like, pick a format and a size, and take them back. It works on a folder of two hundred as happily as on one, and how long it takes depends on your laptop, not on somebody's queue.

      Nothing is uploaded

      Your image goes:
      
        file  ->  canvas  ->  encoder  ->  download
      
      Every one of those is inside the browser. There
      is no request, no queue, no temporary file on
      somebody's disk and no promise to delete it
      later.

      Every other tool for this sends your file to a server. That is fine for a screenshot and less fine for a photograph of your children, a scan of a passport, or product shots under embargo. Browsers have been able to decode and encode images for over a decade, so there is no reason for the round trip.

      The practical consequences are worth knowing. It is as fast as your machine, which on anything modern is faster than uploading. It works with no connection. And there is no size limit imposed by somebody's free tier, although a very large image will eventually run your browser out of memory.

      Resize before you worry about quality

      A 4000 by 3000 photograph from a phone
      
        as it came, JPEG      3.8 MB
        WebP at 82%           620 kB
        WebP at 82%, 1600px   180 kB
      
      Resizing saves far more than any quality setting.
      A photograph on a web page almost never needs to
      be wider than about 1600 pixels.

      The single biggest saving is almost always the dimensions. A photograph straight off a phone is four thousand pixels wide, and the place it is going is a column eight hundred pixels wide on a screen that will show it at twice that at most. Everything past that is bytes nobody sees.

      So set the longest side to something sensible first, and only then start moving the quality dial. Sixteen hundred pixels covers a full width image on almost any screen, and eight hundred covers most things in a column.

      What the quality number means

      100  no visible gain over 90, much bigger file
       90  where you go if the image really matters
       82  the sensible default
       70  fine for a thumbnail
       50  visible on flat colour and gradients
      
      There is no unit. It is a dial the encoder reads,
      and 80 in WebP is not 80 in JPEG.

      It is not a percentage of anything. It is a number handed to the encoder that decides how aggressively to throw away detail, and the same number means different things in different formats. Above ninety the file grows quickly for a difference nobody can see.

      It also has no effect at all on PNG, which is lossless. A PNG is either the image or it is not, so the slider disappears when you choose it.

      Which format

      WebP is the sensible default. It is smaller than JPEG at the same quality, it holds transparency, and every browser has read it since 2020. If you are picking one thing, pick this.

      AVIF is smaller still, sometimes dramatically so on flat or gradient-heavy images. It is slower to encode, and not every browser can write it, so if the button produces nothing that is why.

      JPEG when something old has to read it, or when you want the most compatible file that exists. No transparency, so anything see-through gets filled with the colour you choose.

      PNG for flat colour, screenshots of text, logos and anything needing exact pixels. It is a poor choice for photographs and will usually come out larger than the JPEG you started with, which the tool will point out.

      Converting something twice

      original.jpg  ->  smaller.jpg  ->  smaller2.jpg
      
      Each pass throws away detail the last pass kept,
      and the loss does not undo. The file size stops
      falling long before the quality does.
      
      Go back to the original if you have one.

      JPEG, WebP and AVIF all throw information away to get small. Do it twice and you throw away more, including detail the first pass carefully kept, and no amount of raising the quality on the second pass gets it back.

      It matters less than people fear for one extra pass at a high setting, and it matters a great deal after four or five. When the tool notices you are re-encoding something already compressed it says so.

      What it cannot do

      HEIC, the format an iPhone uses by default, cannot be decoded by any browser. There is no way around that here. Set the phone to save as JPEG, or export the photographs before bringing them over.

      Animated GIFs come through as a single frame, because a canvas holds one image at a time. Metadata does not survive either: the orientation is applied and everything else, including any location the camera recorded, is dropped. That is usually what you want and is worth knowing either way.