Quickly resize and convert your images to WebP format in bulk. This PowerShell script processes an entire folder of images, shrinking the longest edge to a maximum size (default 1600px) while preserving aspect ratio, then outputs optimised WebP files. Perfect for preparing images for the web.
Features
- Batch processes PNG, JPG, JPEG, and TIFF files
- Resizes so the longest edge fits your chosen limit (default 1600px) — never upscales
- Converts to WebP with configurable quality (default 80)
- Outputs to a `webp` subfolder, keeping originals safe
- Optional `-DeleteOriginals` flag to remove source files after conversion
- Reports file size savings for each image
Usage
Process current folder with defaults (1600px max, quality 80)
resize-media.ps1
Specify a folder, custom quality, and max edge
resize-media.ps1 -Folder "C:\Photos" -Quality 90 -MaxEdge 1200
Delete originals after successful conversion
resize-media.ps1 -DeleteOriginals
Requirements
- Windows with PowerShell 5.1 or later (included with Windows 10/11)
- ImageMagick — free, open-source image toolkit
Installing ImageMagick
- Download the installer from [https://imagemagick.org/script/download.php#windows](https://imagemagick.org/script/download.php#windows) — choose the top “Win64 dynamic” `.exe` installer.
- Run the installer. On the “Select Additional Tasks” screen, make sure “Add application directory to your system path” is checked.
- Restart any open terminal/PowerShell windows.
- Verify by running: `magick –version`
Running PowerShell Scripts
If you haven’t run PowerShell scripts before, you may need to allow it once. Open PowerShell as Administrator and run:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Then navigate to the folder containing the script and run it.
Adding the Script to Your PATH (Optional)
For convenience, you can add the folder containing the script to your system PATH so you can run it from any directory:
- Press Win + S and search for “Environment Variables”
- Click “Edit the system environment variables”
- Click Environment Variables at the bottom
- Under User variables, select Path and click Edit
- Click New and paste the full path to the folder where you saved the script (e.g. `C:\Scripts`)
- Click OK on all dialogs
- Restart any open terminal windows
You can now run `resize-media.ps1` from anywhere without navigating to the script’s folder first.
Free download — if you find it useful, consider supporting development