How to Batch-Convert 1000+ Photos Without Ever Uploading Them

How to Batch-Convert 1000+ Photos Without Ever Uploading Them

Online converters quietly cap batches at 20–50 files. Here's how to convert 1000+ photos to WebP locally in your browser using WebAssembly — no cap, no upload, no signup.

How to Batch-Convert 1000+ Photos Without Ever Uploading Them

If you’ve tried to run a large photo library through an online converter, you’ve probably hit the same wall in one form or another:

  • “Maximum 20 files per batch.” Upload 20. Wait. Download. Repeat 50 times.
  • “100 MB limit on free tier.” Three DSLR photos and you’re done.
  • “Upgrade to batch convert.” $12/month for a feature that shouldn’t cost anything.
  • “Files deleted after 24 hours.” Meaning they were on a stranger’s server for those 24 hours.

These aren’t technical limitations. They’re business model artifacts. The converter runs on someone else’s servers, and every image you convert costs them CPU time and bandwidth. The caps are there to push you toward a paid plan.

There’s a better way: run the converter in your own browser, on your own machine, with no upload at all.

Why your browser can actually handle this

Modern browsers can run the same native image processing libraries used in desktop software — libwebp, libjpeg-turbo, libheif, ImageMagick — inside a secure sandbox via WebAssembly. Each browser tab gets up to 4 GB of working memory, and Web Workers allow true parallel processing across all your CPU cores.

SciZone compiles about 13 MB of C++ into WebAssembly. That binary loads once when you open the page, and then each Web Worker runs its own independent copy — processing images in parallel. On a 10-core laptop, you get 10 parallel encoders running at close to native speed.

Let’s do the honest math on 1000 photos

A typical smartphone photo is about 3 MB. A 1000-photo vacation folder is around 3 GB total.

Uploading to an online converter:

  1. Upload 3 GB over your home connection. On a typical 50 Mbps upload speed, that’s roughly 9 minutes before any conversion even starts.
  2. Wait in a queue — free tiers usually deprioritize large jobs.
  3. Server converts the files.
  4. Download the results (~2 GB). Add another 5 minutes.
  5. Total: 14+ minutes, 5 GB of your ISP bandwidth, and your photos touched an external server.

Converting in the browser:

  1. Drop 1000 files on the page. They’re read from your SSD at disk speed — takes a couple of seconds.
  2. Workers start encoding immediately. With 10 cores at ~3 photos/sec each, that’s ~30 photos/sec throughput.
  3. 1000 photos finish in roughly 33 seconds.
  4. A ZIP is assembled on your device and saved.
  5. Total: under a minute, zero upload, nothing left your machine.

The browser is faster. That’s not a typo.

How to run it

  1. Open scizone.dev/bulk-webp-converter in a desktop browser — Chrome, Firefox, Safari, Edge, or Opera.
  2. Drag your photo folder onto the drop zone. Mixed formats (JPG, PNG, HEIC, TIFF) and subfolders all work in a single pass. Non-image files like .DS_Store are passed through unchanged.
  3. Watch the live counter. The UI stays fully responsive during conversion — scrolling, clicking, opening a new tab all work fine. The actual encoding runs in background workers, not on the main thread.
  4. Download the ZIP. The output preserves your original folder structure, so you can extract it and have a clean WebP copy of your library ready to use.

A note on RAM and very large batches

Only the files currently being processed are in memory at any time — the rest are queued. The worker pool also recycles each worker after 32 jobs to prevent memory from accumulating over long runs.

For very large batches (5000+ images), we’d recommend splitting into chunks of about 1500 at a time. The browser can technically handle more, but it shares memory with other tabs and background processes, so chunks reduce the risk of running into limits mid-batch.

Does it really work offline?

Yes — and you can prove it. Once the page has loaded, open DevTools → Network and drop a batch of files. You’ll see zero network activity during the entire conversion. The page is a PWA, so even cutting your Wi-Fi mid-run won’t interrupt it.

If you want to use it offline by default, install SciZone as a PWA from your browser’s address bar. It’ll launch like a native app, completely offline, every time after that.

What happens to EXIF and GPS data?

Everything is preserved automatically. Capture timestamps, GPS coordinates, camera model, ICC color profiles — all of it copies onto the WebP output.

This matters a lot for large batches: your photo library software (Apple Photos, Google Photos, Lightroom, digiKam) uses this metadata to organize photos by time and location. Lose the metadata, and a carefully organized archive becomes a flat pile of files with no dates.

If you want to strip EXIF — say, for a batch of photos you’re posting publicly — add a pass through ExifTool after conversion. SciZone’s default is to preserve everything.

Verify it yourself

Privacy claims are easy to make and hard to trust. Here’s how to independently confirm this one:

  1. Open the bulk converter in Chrome.
  2. Open DevTools → Network. Enable “Preserve log.”
  3. Drop 10 photos onto the page.
  4. Filter the Network tab by POST, PUT, or “upload.”

You’ll see nothing related to your image data. The only requests after page load are for cached static assets from scizone.dev.

The bottom line

In 2026, there’s no reason to accept batch caps, upload waits, or privacy compromises for photo conversion. Your browser can do this work directly — faster than the upload path, completely free, with no ceiling on batch size. Drop your photos on the bulk converter and see how fast it actually goes.