Image Converter
Convert images between PNG, JPEG and WebP, compress them to a target size and resize or crop. Free, and files are processed in your browser, not uploaded.
Drag & drop images here, or click to select
PNG, JPG, WebP, AVIF, GIF, BMP supported
No images added yet. Upload some images to get started.
Convert, compress and resize images in batches
Drop in any number of PNG, JPEG, WebP, AVIF, GIF or BMP files and convert them all to PNG, JPEG or WebP with one click. Each image shows its original size next to the output size once converted, so you can see exactly what a setting cost or saved, and Download All fetches every finished file in turn.
Compression works two ways. By quality sets a JPEG or WebP quality from 10 to 100 (PNG is lossless, so the slider is hidden). Target size takes a figure in KB or MB and searches quality, then resolution, until the output fits; if even the smallest encode is still over, the card says so rather than pretending. Resize can cap the width, cap the height, or force exact dimensions, and a per-image crop is applied before any of that, so resize figures refer to the part you are keeping.
Decoding and encoding run in a Web Worker, so the page stays responsive through a long batch, and nothing leaves your device. Because the output is re-encoded from pixels, camera metadata such as EXIF and GPS is not carried into the converted file.
Frequently asked questions
Is there a limit on file size or number of images?
No fixed limit. Images are decoded one at a time in a worker, so the practical ceiling is your device's memory for very large files.
Does converting keep the original quality?
PNG output is lossless. JPEG and WebP are lossy, and even at quality 100 the file is re-encoded, so converting a JPEG to a JPEG repeatedly will degrade it slightly each time. Keep the original if you may need it again.
Are my photos uploaded?
No. Reading, resizing and encoding all happen in your browser, and the converted files are created from memory on your device.
Can it convert animated GIFs?
A GIF can be loaded, but PNG, JPEG and WebP output here hold a single frame, so only the first frame of an animation is kept.
Why could it not reach my target size?
Every format has a floor. PNG can only get there by downscaling, and JPEG or WebP at the lowest quality and smallest tested scale may still be larger than a very small target. Pick JPEG or WebP, lower the dimensions, or raise the target.