I have about 500 photos - each about 5MB in size. I'd like to bulk convert them to a smaller size, suitable for email and web-hosting.

Tools at my disposal -

  • Windows 7
  • Powershell 2
  • A free tool I don't yet know about

What's the best option?

Update - making this a community wiki - there are so many good options I'm not sure it make sense to mark any single one of them as the answer.

10 Answers 10


Check out Irfanview!

  • I used to use this for generating thumbnails
    – kishore
    Oct 27, 2009 at 2:47
  • 1
    +1, I use IrfanView for this for all those times when I don't feel like delving into all sorts of script-based voodoo, which seems to be most of the time. :-) Oct 27, 2009 at 15:55
  • It did the trick, but it's only single threaded, so took a while Oct 27, 2009 at 23:23

I would also use ImageMagick, here is a PowerShell script, expanding on DaveParillo's idea.

# Retrieves array of JPG files in current directory
PS C:\TEST\> $jpgfiles = Get-ChildItem . -filter *.jpg
PS C:\TEST\> foreach ($jpgfile in $jpgfiles) {
# Defines a new filename by stripping original filename of extension,
# then adding "-scaled.jpg" to end of original filename
>> $newjpgfileName = $jpgfile.Name.substring(0, $jpgfile.Name.length-4) + "-scaled.jpg"
>> convert $jpgfile.Name -scale 500 $newjpgfileName
>> }

I choose to use ImageMagick's convert command, and scaled the images to to 500 pixels wide, that will shrink the files considerably and keep the existing aspect ratio. You could also use mogrify but you'll lose your original image that way. There's all sorts of fun stuff you could do with ImageMagick, I recommend you review their documentation. Hopefully this PowerShell script will help you get there.


  • here's a mod the the script Get-ChildItem . -filter *.jpg | % { convert $_.Name -scale 500 "$($_.Baseame)-scaled.jpg" } Oct 27, 2009 at 23:25

Imagemagick is my pick. It's my favorite price (free)

If you want to lower the jpeg quality of the images 'in place' to 50%:

mogrify -quality 50% *.jpg

To resize them (smaller copies) this is shell syntax, not sure about a powershell equivalent:

for file in *.jpg; do 
    echo  -n "Making images: $file thumbs.."
    # a bare scale means Width is given, 
    # height automagically selected to preserve aspect ratio.
    convert -scale 150 "$file" "thumbnails/$file"
    echo -n " scaled.."
    convert -scale 500 "$file" "scaled/$file"
    echo .

Image Resizer Powertoy Clone for Windows - easiest image resizing ever for one or more images:

Resize images on a regular basis until now has been somewhat tedious.
While I was searching for a program that would sort images by their resolution I found this little gem of a program that resizes images in Windows Explorer (not Internet Explorer) using a mere right click. Image Resizer Powertoy Clone is super easy to use; open Windows Explorer, find an image you want to resize, right click on the image, choose "Resize Pictures", pick a size, click OK and you're done.



Imagemagick examples (2 links here)


Picasa can also do this pretty easily. It's in the export options if/how you want to resize a group of photos.

  • Picasa can also take care of emailing and uploading to Picasa Web Albums.
    – jwaddell
    Oct 27, 2009 at 22:38

Powershell Community Extension provide a cmdlet named import-bitmap, resize-bitmap and export-bitmap, so you could write something like :

ls | % { import-bitmap $_ | resize-bitmap /* somehting */ | export-bitmap $_ }


This worked perfectly. http://www.fotosizer.com/

It's a freeware that allows you to select a folder. It will then scan that folder (and subfolders, optionally) for all image types, you know, tif, bmp, jpg, png etc.

It'll then allow you to resize them into a constraining box - ie set a max width and height and then resize them. It can overwrite original files, or even better it can recreate your folder structure in the folder of your choice.

Works well, good price (free!)


Easy Image Modifier, a great little utility from InspireSoft (free & portable), choose your preferred output settings (size, format) then load your images, hit the start button and let the program work its magic. it doesn't get any easier.

Change the resolution, orientation, format and name of a single image or a collection in a comfortable and easy way. Even advanced operations like removing meta informations, flipping, resizing unproportionally or sorting your images are easy to manage. Furthermore the used drag'n'drop technique simplifies the selection of wanted files. The key feature is the pure easiness. For example you can change the resolution just with some clicks.

Main Features

modify multiple images just with one single click

rename and sort in various ways

shrink and/or enlarge the resolution to a dimension or by a percentage

change the orientation: flip or rotate the images

optional changing of the file format

extra options for jpg files: remove meta infos, set compression

advanced resize options: ignore a dimension, resize unproportional

rename & replace or save at a self-chosen location

multilingualism: English, German, Spanish, French, Portuguese, Swedish and Romanian

portable: extremely small, just one executable, no installation

free of charge!


XnView can also do that. Check it out - it's a lightweight and powerful GUI image viewer-converter with some editing features. It was originally developed for Windows, and has been later ported to Linux and MacOS.

Not the answer you're looking for? Browse other questions tagged or ask your own question.