Skip to main content

Batch Resizing and Format Conversion

The workhorse batch job — a whole folder resized and converted at once

In This Lesson

The Most Common Job

"Take these 200 camera JPEGs and give me web-sized versions" is the batch job you'll run more than any other. It combines two operations — resize to a sensible dimension and often convert to a web format at a reasonable quality. Master this one recipe and you've covered most of your real-world batching needs.

Batch Resize in BIMP

In BIMP (yesterday's File → Batch Image Manipulation), add a Resize operation:

  • Choose a target — by percentage (e.g. 50%) or by a fixed dimension (e.g. 1600 px on the long edge).
  • Keep "maintain aspect ratio" checked so images aren't stretched.
  • Add the source files and an output folder, then Apply.

The same by Script-Fu batch on the command line calls gimp-image-scale per file — either route produces identical results.

Keeping Aspect Ratio

Photos in a batch are rarely all the same shape — portraits and landscapes mixed together. Resizing to a fixed width and height would squash some. The fix is to constrain by a single dimension (the long edge) or a percentage, letting the other dimension follow:

flowchart LR A[Mixed portrait and landscape] --> B[Constrain long edge to 1600px] B --> C[Each image keeps its shape] D[Fix width AND height] --> E[Some images squashed]

Constrain one dimension to keep every shape correct; fixing both distorts some.

💡 "Long Edge" Is the Safe Choice

Resizing so the longest edge hits a target (say 2048 px) guarantees no image exceeds that size in either direction, regardless of orientation — perfect for galleries and uploads with a max dimension.

Format Conversion

The same batch can change format. Set the output type and every file is converted as it's saved:

From → ToWhy
PNG → JPEGShrink big screenshots/photos for the web
TIFF/RAW export → JPEGDeliver lightweight versions of heavy masters
JPEG → PNGWhen you need lossless or transparency downstream
Anything → WebPSmaller files at similar quality for modern web

You'll dig into which format to pick, and web-specific settings, in tomorrow's web optimization lesson.

Naming the Output

Batch tools let you rename on the way out — add a suffix like _web or _1600, renumber sequentially, or change the extension. A good pattern keeps the original name and appends the size (portrait-03_web.jpg) so the output is self-describing and never collides with the source, in keeping with Monday's naming conventions.

Don't Sacrifice Quality

⚠️ Downscale from the Master, Once

Always batch from your full-size originals, not from already-shrunk copies — re-resizing a small JPEG compounds softness and compression. And don't set JPEG quality too low to save space; 80–90% usually looks great while a harsh setting leaves visible artifacts. One clean downscale from the master beats a chain of re-saves.

Practice Activities

  1. Long-edge resize. Batch a mixed folder of portraits and landscapes to 1600 px on the long edge and confirm none are distorted.
  2. Convert format. In the same job, output JPEG at 85% quality and compare file sizes to the originals.
  3. Suffix naming. Set the output to append _web and verify names don't collide with the sources.

Summary

✅ Key Takeaways

  • Resize-and-convert is the most common batch job — worth mastering.
  • Constrain by long edge or percentage to keep every shape correct.
  • The same batch can convert format (PNG↔JPEG, WebP, etc.).
  • Rename output with a size suffix so it's self-describing and collision-free.
  • Batch from full-size masters at 80–90% quality — never re-resize small copies.

➡️ What's Next

Add your mark to a whole shoot: Batch Watermarking and Effects.

Additional Resources