I have a client who is having a lot of trouble managing his photos. He has multiple copies in multiple Aperture and iPhoto libraries, imports from old PCs, etc. What I'm looking for is a piece of software for OS X that can grab all these photos and reorganize them by EXIF data, say into YYYY/YYYY-MM-DD/*.jpg, eliminating duplicates as it goes. Does such a thing exist?

  • \$\begingroup\$ I imagine they exist, but I don't know what they are for the Mac platform. I'm pretty sure I can do that with a plug in for Total Commander on Windows, but that doesn't really help you. \$\endgroup\$
    – AJ Henderson
    Commented Jul 12, 2013 at 0:44
  • \$\begingroup\$ AJ, can you elaborate? I might be able to make a Windows solution work... \$\endgroup\$
    – NaOH
    Commented Jul 12, 2013 at 4:22
  • 1
    \$\begingroup\$ Maybe a bash script can do the job. There is command line tool in Mac OS X, called mdls that lists the metadata attributes for a specified file. You can create a bash script that recursively goes through the folders and renames the files based on mdls metadata. The good thing is that it works with raw files as well. To make more user-friendly, you can joint this solution with Automator to create a service or an application. \$\endgroup\$
    – Pouya
    Commented Jul 12, 2013 at 7:36
  • \$\begingroup\$ @Pouya If you had both an unconverted RAW version and a converted JPEG with the same EXIF info would it flag them as duplicates? \$\endgroup\$
    – Michael C
    Commented Jul 12, 2013 at 14:03
  • \$\begingroup\$ @MichaelClark, Short answer is no (unless you want it :D). In detail: it depends on how you implement the script. My comment was more guideline rather a complete answer. If you want the raw and jpeg be consider as duplicate you simply need to add an or condition. The duplication is indicated based on the file name and exif data is only necessary to rename them so that should not be a problem. \$\endgroup\$
    – Pouya
    Commented Jul 12, 2013 at 14:09

2 Answers 2


First off make backups of everything (especially when trusting strangers on the internet to help you :-)

iPhoto/Aperture store the photos in libraries which are semi-opaque. So they need to be exported, your first choice will be if you want to export the originals or a version of your photos with any edits you may have made in Aperture -- this is your choice, edited versions will obviously have any fixes you made in them, but if you edited out something, it will be lost (for example you crop me out of a picture).

  1. In Aperture with a library open, select all the projects Aperture with projects selected
  2. Right click and select export (here is where you need to choose the Original or Version) Export Menu in Aperture
  3. Now you have the export dialog enter image description here
  4. Select the location you want to use to collect all your images (be sure there is enough disk space to hold everything).
  5. Select the Export Preset of JPEG - Original Size
  6. In the Subfolder Format select Edit... Subfolder Naming Dialog
  7. Create an export folder preset to match your desired format - click the + at the bottom left and then drag the Image Year, add a slash, etc.
  8. In the Name Format selection, pick this and select Edit... Name Format Dialog
  9. Create an option to export with the original file name.
  10. Click the Export Versions or Export Originals
  11. Rinse and repeat for all your libraries
  • 1
    \$\begingroup\$ +1 for "...especially when trusting strangers on the internet to help you..." \$\endgroup\$
    – Michael C
    Commented Jul 12, 2013 at 14:04

Picasa has a really useful (experimental) feature called "show duplicate files". It should work with pictures that are rescaled or slightly cropped too I guess.

Then you can manually delete all but one copy of each.


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