I like to have my photos organized into chronological order. So I sort them in folders by year, month and name of the event. Even within the event folders, I like to have the filenames reflect information about photograph. For example, when the photo was clicked, where it was taken, what equipment was used etc.
Lightroom does a very good job of renaming the imported RAW files and exported JPGs using EXIF information that’s encoded into the photographs. But all my photos from my smartphone, my wife’s smartphone end up having messy filenames like IMG00923.JPG or DSC_000_175.JPG etc. These photographs have EXIF information too that can be used, it’s just needs to be extracted. So I wrote this little tool, which can help me achieve this.
It’s called smart-image-renamer. What it does is – go through my entire photo library (or whatever photos I want to rename) and rename all the photos using a format I provide. The format can have things like year, month, date, time, camera, lens, name of event, name of folder etc. For example, let say I went to Half Moon Bay with family and I have a bunch of photos I want to rename. I will write the format as {YYYY}{DD}{MM}{Model}_Half-Moon-Bay{Seq} and these tags within {} are replaced by relevant data stored in the EXIF. So resultant filenames for the photos would look like:
20140529_LGE Nexus 5_Half-Moon-Bay_001.JPEG
20140529_LGE Nexus 5_Half-Moon-Bay_002.JPEG
That’s just one example. There are few more tags that can be used out of EXIF information to rename photos. smart-image-renamer has a nifty test mode too, so that you know what it will do without actually affecting the photos.
Download
Best way to download smart-image-renamer is using pip.
$ pip install smart-image-renamer
Or you can download smart-image-renamer as zip from it’s Github page and install it like any other python package.
$ python setup.py install
I plan to introduce more functionality in future. Let me know if you’d like anything in specific. Feedback on smart-image-renamer is always welcome.