Image Converter & Compressor

Convert between JPEG, PNG and WebP, resize, crop, rotate and compress one image or a whole batch — entirely inside your browser.

Choosing a format, and what "quality" actually costs you

Three formats cover almost everything on the web, and they are good at different things. Picking the right one matters more for file size than any slider.

JPEG is built for photographs. It throws away detail your eye is unlikely to miss, which is why a photo saved as JPEG is a fraction of the size of the same photo as PNG. It cannot store transparency, and it is lossy at every quality setting — there is no such thing as a lossless JPEG here.

PNG is built for flat graphics: screenshots, logos, diagrams, anything with sharp edges or large areas of one colour. Its encoder is lossless, so it stores exactly the pixels it is given, and it supports transparency. Save a photograph as PNG and you will usually get a file several times larger than the JPEG for no visible gain.

WebP sits between the two and is usually the smallest for a given visual quality. Your browser encodes WebP in lossy mode, even at quality 100, so treat it like JPEG that happens to support transparency.

The quality slider only does something for JPEG and WebP. For most photographs, somewhere around 80 is the point where further increases add file size much faster than they add visible detail. Dropping below about 60 starts to show blocky artefacts in flat areas like skies. The honest way to choose is to convert once, look at the measured output size this tool reports, and adjust.

  1. Add one image or several. Everything is read in your browser; nothing is uploaded.
  2. Pick an output format. The panel tells you immediately whether that conversion is lossy and why.
  3. Resize by percentage or by exact pixels, with the aspect ratio locked unless you deliberately unlock it.
  4. Adjust quality for JPEG or WebP, then convert.
  5. Check the real before and after numbers, then download one file or all of them as a ZIP.

Why repeated editing degrades an image, and how to avoid it

Every time a lossy image is decoded and saved again, the encoder makes a fresh set of approximations on top of the approximations already baked into the pixels. This is called generation loss, and it compounds. Open a JPEG, save it, open that, save it again, and repeat: after enough rounds the result is visibly mottled, especially around text and sharp edges.

This matters because it is easy to do by accident. Cropping a photo in one app, resizing it in another and exporting it from a third can put three rounds of JPEG encoding into a file that only needed one.

The way to avoid it is to keep your original and always re-edit from that, rather than from the last export. If you need an intermediate working file, use PNG, because its encoder is lossless and will not add another round of loss. Then make the lossy export once, at the end, from the original.

Converting a JPEG to PNG does not undo anything. The detail the JPEG discarded is gone, and the PNG will faithfully preserve the degraded pixels in a much bigger file. PNG is the right choice for a working copy of something you are still editing, not a repair tool for something already compressed.

Resizing is worth understanding too. Making an image smaller resamples it, which changes pixel values even when the output format is lossless, and the discarded detail cannot be restored by enlarging it again. Enlarging beyond the original dimensions never adds real detail; it only interpolates what is already there.

Frequently asked questions

Are my images uploaded to a server?
No. Decoding, resizing and encoding all use your browser’s own image pipeline, and the batch runs in a Web Worker inside the same tab. There is no upload and no analytics.
Is any conversion here lossless?
Encoding to PNG is lossless, provided you do not also resize. Every JPEG export is lossy, and WebP is encoded by the browser in lossy mode even at quality 100. Any resize resamples the image and therefore changes pixels regardless of format. The panel states which of these applies before you convert.
Why did my file get bigger instead of smaller?
Usually because you converted a photograph to PNG, which stores every pixel exactly and cannot compete with JPEG or WebP on photographic content. It can also happen if you raise quality above the level the original was encoded at. The tool reports the real measured sizes either way rather than hiding growth.
What quality setting should I use?
For photographs, around 80 is a good default and is what this tool starts at. Compare the measured output size at a couple of settings rather than trusting a rule of thumb, because the right answer depends heavily on the image.
What happens to transparency when I export to JPEG?
JPEG cannot store an alpha channel, so transparent areas are filled with the background colour you choose before encoding. The default is white. If you need transparency, use PNG or WebP.
Can I convert animated GIFs?
GIF is accepted as input, but only its first frame is used and animation is not preserved. GIF is not offered as an output format, because producing a still image with a .gif extension would be misleading.
How many images can I convert at once?
There is no fixed count, but everything is held in your device’s memory, so a large batch of high-resolution photos on a phone will be slower and may hit a memory limit. The tool clamps any single image to a size your device can allocate and tells you when it has done so.
Does this remove EXIF metadata?
Re-encoding through a canvas does not carry the original metadata across, so converted files generally do not retain it. That is a side effect, not a guarantee. If removing metadata is your actual goal, use the Image Metadata Privacy Tool, which is built for it and tells you exactly what it removed.

What this tool will not do