My photo cleanup workflow

I have 25 folders (filled with many subfolders) filled with photos from 2001 to 2026. All the folders are stored on my NAS. When I import new photos from my DSLR into Lightroom, I automatically back up the photos to my NAS drive. For pictures taken on the four iPhones in our household, I back up the images from iCloud to my NAS, usually once a year. The result of this process? There are thousands of JPEG files in these folders, and since 2023 the number of pictures we take has increased exponentially.

I've long wanted to clean up this digital mess by removing duplicate photos and selecting one photo from a series of photos. The purpose of all this is not to save disk space; it's to create physical photo albums for the years since we have children and are a family.

I've made use of the following two macOS apps: PhotoSweeper and ExifRenamer. This is my approach:

  1. Create a zip file of every single year folder for backup purposes. Upload these to Backblaze, my off-site S3 backup solution.
  2. Copy a single folder with all subfolders from my NAS to my desktop computer, mainly for performance reasons while processing, but also to create a working folder without touching the files on my NAS.
  3. Have PhotoSweeper analyze the contents of the year folder and subfolders. My desktop computer is an M4 Mac Mini, and PhotoSweeper is incredibly fast at this.
  4. Manually go through three types of comparisons PhotoSweeper does: filename and EXIF comparison, series comparison for images taken within one minute of each other, and having the app's algorithm handle image comparison by looking at the images.
  5. Mark all the images I want to delete based on the analysis, following PhotoSweeper's advice about which one to delete 9 out of 10 times.
  6. Let PhotoSweeper delete all the marked photos.
  7. I'm now left with a cleaned-up annual folder with no more duplicate photos or burst series.
  8. The final processing step is to have ExifRenamer go through the folders and move the individual JPEG images to a new folder while updating the filenames based on the EXIF data. I name the files with the following syntax: yyyymmdd hhmmss – (Camera Name).jpg.
  9. The result is a cleansed annual archive of images sorted alphabetically in the file system.