How to Organize Photos Sorted by Date based on EXIF date

I keep all my unorganized photos in external HDD storages just by move them from camera or smartphone. Howerver, all of them aren’t aligned with the filenames. My camera photos start at NHC_xxx prefix but the photos that taken by my phone camera starts at IMG_xxx. It’s hard to reviewing and choosing the best photo to backup / print with the same category or date. Because the categories of photos have same date in almost case. As we known, when you take a picture with your digital camera or smartphone, a time stamp is embedded in the file. Other cool types of info are also embedded too, but that’s not in the scope of what I’m covering here.

So, Organize Photos Sorted by Date based on EXIF date is the best solution to solving my issue. After researching over the internet, I found some solution to help me sort them or put them into a folder by the creating date of the EXIF data of each image.
I start looking for the ways to sort my photos ordered by date / time based on EXIF date. My goal is software / scripts takes my collection of folders and files and reorganizes them into a hierarchy of folders by almost any custom date / time format. Once my photos and videos are sorted I will be able to easily find the photos that I took on Birthdays, Holidays or any special day…
Why are we sorting photo / video base on EXIF data? When we copy / move the photos to our external storages, the file date is not the same as the date you took the photo. But the photo’s EXIF data are still unique and embbed in each photos. If you have a large number of files on your memory card with photos taken over many different days it can be a mess to try to organize the photos.


Shotwell is a digital photo organizer designed for the GNOME desktop environment. It allows you to import photos from disk or camera, organize them in various ways, view them in full-window or fullscreen mode, and export them to share with others. This provides the user with a wide flexibility of options for where they want to import their photos from. You can use it to manage different devices like cameras, phones, and more. Photos can be organized into events (usually sorted by date) or by custom albums created by the user.


This program defaults to importing all your pictures into separate date folders, nested in month folders, nested in year folders.


digiKam is an advanced digital photo management application for Linux, Windows, and Mac-OSX. The people who inspired digiKam’s design are the photographers like you who want to view, manage, edit, enhance, organize, tag, and share photographs under Linux systems.
This powerful and versatile photo management application has all tools and features necessary for transferring, organizing, processing, and managing photos, RAW files, and videos. But even though digiKam can handle practically any photographic task you throw at it, there is still room for optimizing and improving parts of the Linux-based photographic workflow.


Color labels help me to keep track of the current status of each photo. I use labels to mark processed photos ready to be uploading / printing / sharing …
If you’re comfortable using the command line, I recommend using exiftool or sortphotos


ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files. ExifTool supports many different metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, as well as the maker notes of many digital cameras by Canon, Casio, DJI, FLIR, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
ExifTool is also available as a stand-alone Windows executable and a Macintosh OS X package: (Note that these versions contain the executable only, and do not include the HTML documentation or other files of the full distribution above.)
Here’s a sample command that renames the files based on creation date in YYYYMMDD format and appends a sequence number at the end. If you read the documentation there’s a similar command that copies them into new folders named based on exif data.

$ exiftool '-filename<CreateDate' -d %Y%m%d%%-.4nc.%%le -r

In my experience, nothing but nothing is as complete, powerful, and flexible as Phil Harvey’s exiftool … I’ve never seen anything that’s in the same ballpark for power.

ExifTools GUI

ExifTools GUI also available on Windows Platform for normal user. You can get it on its support forum.
ExiftoolGUI should run on WinXP up to Win7-64bit. However, because GUI is developed in Win7 environment, the author can’t guarantee backward compatibility.



pyExifToolGui is a graphical frontend for the excellent open source command line tool ExifTool by Phil Harvey. pyExifToolGui is a python pySide QT4 script program that reads and writes all kind of metadata tags from/to image files. A strong point of this software is the ability to write the data, copied or not from a source image (reference image), to multiple images at once.
As mentioned: pyExifToolGui is a graphical frontend for the excellent open source command line tool ExifTool by Phil Harvey, but pyExifToolGui is not a complete ExifTool Gui, far from that.


SortPhotos is a Python script that organizes photos into folders by date and/or time (year, year/month, year/month/day, or other custom formats). If you’re like me then your growing collection of files are contained in a bunch of folders, some with a date like “Sep 2010”, and others which names like “Camping Trip”. SortPhotos takes this collection of folders and files and reorganizes them into a hierarchy of folders by almost any custom date/time format (by default it is by year then month). It will work with any file, but works best with image and video files that contain EXIF or other metadata formats because that stays with the file even if the files are modified. The script is also useful for transferring files from your camera into your collection of nicely organized photos.

SortPhotos example
SortPhotos example

Main Features

  • copy rather than move
  • search source directory recursively
  • silence progress updates
  • test mode
  • sort in directories
  • automatic renaming of files
  • restrict which groups/tags to search through


exifsort organizes pictures and movies into a date-based directory hierarchy derived from the embedded EXIF data in the media files themselves.

exifsort is written in Perl, because Perl is awesome. In order to run exifsort you will need to install these Perl modules first:

  • Image::ExifTool
  • File::Util
  • Try::Tiny

The target date-based directory hierarchy may or may not already exist. It’s just fine if it does. The resulting layout is compatible with shotwell and f-spot. It looks like this: $TARGET/YYYY/MM/DD. exifsort is written for Linux specifically, and it isn’t recommended that you try running it on Windows.


Have you thoroughly fixed your photo collection? How did you do it, what tools did you use, and what would you (or wouldn’t you) do again next time? Give us your Extreme Photo Library Makeover story in the comments.

1 thought on “How to Organize Photos Sorted by Date based on EXIF date”

  1. I need to sort photos with a certain tag into albums by day or fortnight of the year, to be viewed in a seasonal comparison. I wish to use links. This may be similar to the ‘catalog’ concept of gthumb.

    I will try to use exiftool. and would appreciate any suggestions. I have limited experience.


Leave a Comment