Bulk image converter

Apply one recipe to many images: convert, resize, compress, clean and rename. Download them as a ZIP.

  • Nothing uploaded
  • No sign-up
  • Works offline

10 of 10 left today

Drop images here

Or paste with Ctrl+V. JPG, PNG, WebP, AVIF, HEIC, GIF, BMP and SVG all work.

Files are processed on this device. Nothing is uploaded.

Save as

Save as

Good balance for most photos

Advanced settingsWebP, metadata removed

Format and qualityWebP, quality 80

Output format

Higher is sharper and larger. 75 to 85 suits most photos.

File sizeNo target

KB

DimensionsOriginal size

Resize by

MetadataRemoved

Removing Content Credentials deletes the signed record of how a file was made. Keep your original if you may need it.

File names{name}

Example: summer-photo.webp. Names are lowercased with hyphens.

Five files, one recipe

The table runs five different files through the recipe Blog featured: 1200x675 WebP under 150 KB, metadata removed. Together they went from 4.99 MB to 508 KB, which is 90% smaller, and every file ended up at 1200 x 675 and under 150 KB. In the benchmark they ran one after another in 4.4 s. In the browser the work is shared between several workers, so a batch finishes sooner on a device with more cores.

Five files through the recipe "Blog featured: 1200x675 WebP under 150 KB, metadata removed"
FileOriginalAfterChangePixelsUnder 150 KBTime
photo.jpg694 KB147 KB79% smaller1200 x 675Yes1.3 s
photo.png3.75 MB146 KB96% smaller1200 x 675Yes1.3 s
photo.webp403 KB150 KB63% smaller1200 x 675Yes1.3 s
screenshot.png46 KB33 KB28% smaller1200 x 675Yes296 ms
illustration.png94 KB33 KB65% smaller1200 x 675Yes192 ms
All five4.99 MB508 KB90% smaller4.4 s

These ran one after another on a single thread. In the browser the work is shared between several workers, so a batch finishes sooner on a multi-core device. Test images are synthetic files made by this project: a 2000 x 1333 landscape photo, a 1600 x 900 interface screenshot and a 1200 x 1200 transparent illustration. Timings: one thread of WebAssembly on Node v22.23.4, Intel(R) Xeon(R) Processor @ 2.10GHz, 2 cores, measured 2026-10-31. Other devices will differ.

How a batch runs

  • Add up to 100 images by drag and drop, the file picker, paste or a whole folder.
  • The tool starts up to four workers, fewer on devices with few cores or little memory.
  • Each file shows its own progress, and Cancel stops the batch and frees the workers.
  • Download files one by one, or all as a single ZIP.

The daily limit and big batches

Free use covers 10 images a day. A larger batch runs until the day is used up, and the rest stay in the list with a note that they will be ready after the reset. Once the count has reset, press the button in the bar at the bottom and they continue, as long as the page is still open. Running the same image again with different settings does not count twice.

Recipes

A recipe is a saved set of settings. Four come built in: Blog featured, Social share (1200x630 JPEG under 200 KB), Form upload (JPEG under 50 KB, longest side 800) and Privacy clean (remove metadata only). Choose one from the Recipe list in Advanced settings, change anything, then save your own with a name. Your recipes live in this browser only.

File names, alt text and CSV

In the File names section, build names from tokens such as {name}, {width}, {height}, {index}, {format} and {date}. Names are lowercased with hyphens. Each row also has an alt text field. The CSV button exports the file name, alt text, width, height, size in bytes, format and original name for every finished image.

A typical batch

  1. Pick a recipe, or set the format, quality, size and file names yourself.
  2. Drop the files or a whole folder.
  3. Wait for the progress bars, then open the compare view on two or three results.
  4. Change a setting if something looks off and press run again to redo the files with the new settings.
  5. Download a ZIP, and the CSV if you need alt text.

Questions

How many files can I add?

Up to 100 at a time, each up to 120 MB. Add the rest after you clear the list.

Does the ZIP keep my folder names?

No. Files sit at the top level of the ZIP and are named by your pattern.

What if a file fails?

The row shows what went wrong and offers a retry. The other files carry on.

Does it use many cores?

It uses up to four workers, which keeps the page responsive on most devices.

Last updated 2026-10-31. Numbers in the tables were measured when this page was built.