zoy is a command-line interface to help you keep your pictures organized.

At the moment, it provides 3 main functionalities: deduplicating, renaming and sorting. When deduplicating, zoy compares the hashes of all the pictures1 present in a specific folder and deletes them2. Renaming will use EXIF data to update the name of the files to camera - year-month-day hour:minute:seconds.extension (e.g.: GoPro HERO3 Black Edition - 2020-05-31 09:35:33.jpg). Sorting will rename and move the files to the corresponding year/month folder3.

You might have guessed it’s written in Clojure, with plenty of unit tests :)


  1. You can actually specify the extension of the files you want zoy to have a look at. 

  2. zoy actually comes with a --confirm which will not perform any operation other than printing some info to the command-line unless you… well… confirm! You can also perform a dry-run. 

  3. This command requires to be passed a destination directory to create these folders into.