Image Converter and Resizer

Convert and resize images between PNG, JPEG, WebP, GIF and BMP in the browser, one at a time or as a batch with a zip.

Overview

The same picture can be stored in different ways, and the way decides the size and what survives. PNG keeps every pixel and supports transparency. JPEG throws away detail the eye is poor at noticing and gets much smaller, but cannot be transparent. WebP does both jobs and is usually smaller than either. Converting decodes the picture and writes it out again; detail a JPEG has already thrown away does not come back as PNG.

Everything happens in the browser. The images are never uploaded, so there is no size limit beyond what the device can hold and no queue.

Web interface

Drop images onto the field or click it to pick them. One image is shown large, with its size in pixels and in bytes, and its width and height fill the size fields. Several are listed with a thumbnail each and a Remove button. A file that is not an image is named in a note instead of being taken, and an image the browser cannot read is marked as such.

Pick the format and, for JPEG and WebP, the quality, then press Convert. Each result shows the size before and after, in pixels and in bytes, with a Download link. Two or more come with Download all as zip. Clear starts again.

Formats

Formats
ReadPNG, JPEG, GIF, BMP, WebP, AVIF and SVG in every current browser; TIFF and HEIC, the format iPhone photos are taken in, in Safari only
WrittenPNG, JPEG, GIF and BMP everywhere; WebP everywhere but Safari and the browsers on iPhone and iPad
Not writtenAVIF, which only Safari can write so far

WebP is preselected. Where the browser cannot write it, the option reads WebP, cannot be written by this browser and PNG is preselected instead, the other format that keeps transparency. PNG, JPEG and WebP are written by the browser itself; GIF and BMP by the page, because browsers cannot write them.

Size and quality

Quality runs from 1 to 100 and starts at 85. It applies to JPEG and WebP only, the two formats that trade detail for size.

An empty width or height keeps the image's own. With Keep the aspect ratio on, changing one field changes the other to match; with both filled in, the image is scaled to fit inside that box. With it off, the image is stretched to exactly the size given. Making an image larger stretches what is there and adds no detail.

An SVG is drawn at the size asked for, so a drawing becomes pixels at any resolution. One without a size of its own starts at 300 pixels wide in its own proportions: a drawing with a viewBox of 100 by 20 comes out at 300 × 60 in Chrome, Firefox and Safari alike.

A size beyond what the browser can draw gives The image could not be written. At this size it may be more than the browser can draw. Chrome says so for 20000 × 20000.

Several images

Several images are converted one after the other with the same settings, and the page stays usable while they are. With more than one image the size fields start empty, since the images are not all the same size, and empty means each keeps its own.

Download all as zip saves converted-images.zip. The files are stored in it without compression, since they are compressed formats already, and two files of the same name are numbered: a.png and a (1).png. Sizes are given in decimal units, 1 KB being 1000 bytes.

What changes on the way

  • GIF holds at most 256 colours. An image with more is reduced to a palette by median cut; one with 256 or fewer comes through exactly, as a test with 1024 × 1024 pixels in 256 colours showed.
  • GIF transparency is on or off per pixel: a pixel less than half opaque becomes transparent, any other becomes opaque.
  • JPEG has no transparency, so anything transparent is filled with white rather than turning black.
  • BMP is written with 32 bits per pixel and keeps its transparency. It opens in Chrome, Firefox, Safari and macOS.
  • An animation loses its animation. The browser hands over the first frame of an animated GIF or WebP, and that frame is written.
  • No metadata is carried over. A photo's camera data and location stay behind in the original.

No API

There is no API for this tool: the images never leave the browser. On the command line, magick in.png -resize 50% out.webp does the same with ImageMagick, and on a Mac sips -s format jpeg in.png --out out.jpg.

Privacy

Nothing is uploaded. The images are read, converted and zipped on the page, and the results exist only in the browser until you download them.