I got carried away taking high-res and RAW photos, and now my iPhoto Library is just too big. Most of these photos aren't good enough to take up that much space, but they're still good enough to keep. How can I reduce the sizes of my photos while maintaining iPhoto metadata (e.g., albums, rating, location) for them?

Extra props if:

  1. I can do it as a batch process.
  2. I can exclude certain photos from the reduction (e.g., only reduce photos without 5 stars).
  3. It gracefully handles the relationship between the modified and original photos.
  • I'm using iPhoto '08 (7.1.5), but I'm willing to upgrade. Please limit your answer to iPhoto, though; the average user won't cough up the dough for Lightroom or Aperture. – Merchako Jan 26 '11 at 10:48
  • What version of Mac OS X? – NSGod Jan 26 '11 at 12:04
  • Also, what specifically do you mean by metadata? Just standard image metadata, like EXIF stuff, or also iPhoto-specific type things like faces, locations, etc. – NSGod Jan 26 '11 at 12:22
  • OS X Snow Leopard 10.6.6 – Merchako Jan 26 '11 at 13:52

Short Answer, Automator:


Long Answer: iPhoto cannot create a smart album based upon File Size, so you'll have to either group them by other means or manually create an Album with the offending photos (the big ones). Automator, on the other hand, is perfectly capable of finding iPhoto images by size (and by Rating stars).

The first thing you have to decide is: Do I want to scale my images down? Do I want to make them JPG instead of whatever format they have? Do I want to do both for maximum effect? That is, you have to decide what's the best optimization for your photos that has a balance between quality/size.

Each of those have consequences: if you don't save a copy of the original photo, and the resulting quality is not something you like, there's no turn back (unless you have a TimeMachine or similar backup of course).

In any case, Launch Automator, create a new "Workflow" and add the following actions:


NOTE: I've removed the "Make copy" actions that Automator asks you to place by default when an operation will "affect" files, but leave those to "experiment" so you don't alter your original images, at least until you're satisfied with the results.

I suggest you try with a small set of images before going Coo-Coo with the whole Library. As in create a small album with some of the "big" images and try from there. You don't want to wreck your iPhoto library…

This should preserve all the metadata and original photo, while making a Batch adjustment.

If you have programs like Pixelmator or Acorn, you will have more automator stuff there. The more the merrier.

  • Oh, duh. Automator. The app that I always thought was a great idea yet, despite my inclination toward automation, I never wound up using. It never seemed to have the right modules, so I always wound up having to use AppleScript. But this is the perfect use. One reservation, though: I'm concerned that iPhoto will complain about me changing the photos in its library behind its back. What do you think? Can I get by with just rebuilding the library after I do this? – Merchako Jan 26 '11 at 21:31
  • @Merchako iPhoto will read whatever it finds in the FileSystem, but just in case, try it with a small subset (like create an album for testing purposes) ;) tell us what happened. ;) – Martin Marconcini Jan 26 '11 at 23:31
  • This removes the GPS metadata for me :( – user9786 Aug 12 '11 at 16:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .