How to bulk resize images (no software needed)

Resizing one image is trivial. Resizing 500 photos for a website launch is what kills your afternoon. Here are three batch resize approaches, ranked by speed and convenience.

Bulk resizing is one of those tasks that nobody learns until they need it, and then they desperately need it. A folder of 500 photos for a website launch. A product catalog with 200 SKUs. A blog archive of every image in the wrong size. Doing them one at a time is unthinkable.

This article covers three methods, each with different strengths. Pick the one that matches your workflow.

Method 1: browser-based batch resize (no install)

The fastest path for one-off batch jobs. Open a web page, drop the folder of images, get resized files back.

How it works with pictoolkit's batch resize tool:

  1. Open the resize tool.
  2. Drag the entire folder onto the drop zone, or select multiple files in the file picker.
  3. Set the target dimensions — either an exact width/height, a percentage, or a "max longest side" value.
  4. Pick the output format (keep original, or convert to WebP/JPG/PNG).
  5. Click process. All images are resized in parallel using your browser's image engine.
  6. Download the resized files as a ZIP.

Crucially, files never leave your device. The resize happens in your browser using JavaScript and HTML5 Canvas. For 100 photos, this takes about 30 seconds on a modern laptop. For 1000 photos, expect a few minutes.

Best for: one-off jobs of any size, when you don't want to install anything, when you care about privacy.

Method 2: ImageMagick command line

If you do batch resize regularly and live in a terminal, ImageMagick is unbeatable. One command, any number of files, every option you could want.

Install ImageMagick (free, on Mac via Homebrew: brew install imagemagick; on Windows via the installer; on Linux via your package manager).

Basic batch resize, keeping aspect ratio, max 1600px on the long edge:

cd /path/to/your/images
mkdir resized
for f in *.jpg; do
  magick "$f" -resize 1600x1600\> "resized/$f"
done

The 1600x1600\> syntax means: resize so the longest edge is 1600px, but only if the source is larger. Smaller images are left alone. The backslash-escaped > is necessary in bash.

For format conversion at the same time:

magick mogrify -path resized/ -resize 1600x1600\> -format webp -quality 82 *.jpg

Best for: developers, designers comfortable with terminals, jobs that run on a schedule, processing thousands of files at once.

Method 3: native OS tools

macOS Finder

The little-known Quick Actions feature handles batch image tasks without third-party software.

  1. Select multiple images in Finder.
  2. Right-click → Quick ActionsConvert Image (this also handles resize).
  3. Pick output format and quality.
  4. Click Convert to JPEG (or PNG/HEIF).

Limitations: it doesn't have a "specify maximum dimensions" option in the basic UI. You can configure Quick Actions in System Settings → Privacy & Security → Extensions → Finder for more options.

For more control on Mac, the Preview app can batch-resize: open all images in one Preview window, select them all in the sidebar, then Tools → Adjust Size sets dimensions for all selected.

Windows PowerToys

Microsoft's free PowerToys utility includes an Image Resizer module. Once installed:

  1. Select multiple images in File Explorer.
  2. Right-click → Resize pictures.
  3. Pick a preset (Small/Medium/Large/Phone) or set custom dimensions.
  4. Click Resize.

Resized copies are saved alongside the originals with a suffix. Best for: Windows users doing this regularly.

Linux: just use ImageMagick

See Method 2.

How to pick dimensions

The most common mistake in batch resize is picking dimensions that are too small or too large.

  • For web display: target 2× the largest display size. A 800px image displayed needs a 1600px source.
  • For email and messaging: 1080px on the longest edge is plenty.
  • For social media: 1080-1920px depending on platform. See our social media sizing guide for specifics.
  • For archival storage: don't resize. Keep originals at full resolution. Resize copies, not originals.

When in doubt, set "max 2000px on longest edge". This handles almost every web and social use case without going overboard.

Preserve quality during batch resize

Two settings matter for quality during resize:

  • Resampling algorithm — when downsizing, the algorithm decides how to combine multiple source pixels into one destination pixel. Lanczos and bicubic give the best results. Nearest-neighbor (sometimes the default in basic tools) gives pixelated results.
  • Output quality — for JPG/WebP output, quality 85 is the sweet spot. Higher is wasted bytes; lower starts introducing artifacts.

Most modern tools (including pictoolkit's resize and ImageMagick) use Lanczos by default. Avoid old tools that haven't been updated since the early 2010s.

Don't resize the originals

Whatever method you pick, always operate on copies. Once you've resized down, you can't get the original resolution back. Make a copy of the folder first, or use a tool that writes output to a separate directory.

This is especially important for photography work. The 4K original might be needed later for print or for a different crop.

Sanity check on output

After any batch resize:

  • Spot-check 5-10 random files to verify dimensions are right.
  • Check total folder size — should be dramatically smaller than the source folder.
  • Open a few files and zoom to 100% to verify no quality issues.
  • If converting formats, check that nothing was missed (some tools skip files they don't recognize).

Batch resize in your browser with pictoolkit's resize tool. Drag a folder, set the size, get back a ZIP. No upload, no install.

Keep reading

Related articles