How to Resize Multiple Images at Once in GIMP

By Henrick June 11, 2026 3 min read Cropping & Resizing

Resizing one image at a time is fine until you have 50 product photos that all need to be 800px wide. GIMP has a built-in way to handle this through Script-Fu - its scripting engine. No plugins, no extra software. Just a script you paste and run once.

What Is Script-Fu?

Script-Fu is GIMP's built-in scripting language, based on Scheme. You can run scripts directly inside GIMP without installing anything. It is available in every version of GIMP on every platform.

You access it through Filters > Script-Fu > Console. The console lets you type or paste commands and run them immediately. For batch tasks, you paste a multi-line script and click Run.

The Batch Resize Script

This script resizes all JPEG images in a folder to a maximum width of 800px while keeping the aspect ratio. Change the folder path and width to match your needs.

(let* ((filelist (cadr (file-glob "/path/to/your/images/*.jpg" 1))))
  (while (not (null? filelist))
    (let* ((filename (car filelist))
           (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
           (drawable (car (gimp-image-get-active-drawable image)))
           (width (car (gimp-image-width image)))
           (height (car (gimp-image-height image)))
           (new-width 800)
           (new-height (round (* height (/ new-width width)))))
      (gimp-image-scale-full image new-width new-height INTERPOLATION-LINEAR)
      (file-jpeg-save RUN-NONINTERACTIVE image
                      (car (gimp-image-get-active-drawable image))
                      filename filename 0.85 0 0 0 "" 0 1 0 2 0)
      (gimp-image-delete image))
    (set! filelist (cdr filelist))))

How to Run It Step by Step

  1. Open GIMP (you do not need to open any image first).
  2. Go to Filters > Script-Fu > Console.
  3. Copy the script above and paste it into the large input box at the bottom of the console.
  4. Replace /path/to/your/images/ with the actual path to your folder.
  5. Click Run. GIMP will process each file silently. When it finishes, you will see a result in the output area.

Windows path format: On Windows, use forward slashes in the path: C:/Users/YourName/Desktop/images/*.jpg

Mac/Linux path format: Use the normal Unix path: /Users/yourname/Desktop/images/*.jpg

The script overwrites the original files. If you want to keep the originals, change the output filename to save to a different folder (see customization below).

Customizing Width, Format, and Output Folder

Change the resize width: Replace new-width 800 with any number you want, like new-width 1200.

Save to a different output folder: Replace the first filename in the file-jpeg-save line with a new path like:

(string-append "/path/to/output/" (basename filename))

Process PNG files instead: Change *.jpg in the file-glob to *.png, and replace file-jpeg-save with file-png-save with the appropriate parameters.

JPEG quality: The value 0.85 in the save line controls quality (0 to 1). For web use, 0.80 to 0.85 is a good balance of quality and file size. The same approach used in the single-image resize guide applies here - lower quality means smaller files but softer edges.

Alternatives If Scripting Feels Too Complex

If Script-Fu feels intimidating, a few alternatives work well alongside GIMP:

  • BIMP plugin - A graphical batch processor for GIMP. Adds a UI to batch resize, crop, and watermark without writing scripts. Install from the GIMP Plugin Registry.
  • ImageMagick - A command-line tool that batch processes images extremely fast. One command like mogrify -resize 800x *.jpg handles hundreds of files in seconds.
  • IrfanView (Windows) - Free, has a built-in batch resize dialog with a graphical interface. No scripting needed.

For most people, GIMP's Script-Fu is the most convenient because it requires no extra installs - But if you regularly batch-process large volumes of images, ImageMagick will be noticeably faster.

Quick Recap

  • Open Script-Fu Console via Filters > Script-Fu > Console
  • Paste the script, update the folder path and target width, and click Run
  • Script overwrites originals by default - backup first or modify to save to a new folder
Tags: Gimp resize Batch Processing Script-Fu

Share this article:

Twitter / X Facebook

Related Articles