Return to Digital Photography Articles

File Naming Strategy for Photos

I have experimented with a large number of strategies for file naming, and have finally decided upon one that has been working incredibly well with my collection. In particular, I needed to find some strategy that would accommodate a mixture of digital camera photos, scans of prints & slides, and non-photo files. The strategy should also allow one to add files where no original date is known (especially common with scans of old photos). Lastly, it should not be dependent upon any folder hierarchy -- in other words, if the folder organization was lost, one could still work with the collection or rebuild the hierarchy.

I follow a strict naming convention, which allows me to use automated scripts to perform a number of tasks, including version control, transfering of tags from originals to edited versions, etc. A haphazard methodology will cause significant pains later when one decides to be more organized.

In addition, by using this sort of system, I can also quickly find a roll of film that corresponds to a scan from a print or slide. This is very useful if I want to scan in more photos (where I will need to see what I have already scanned in from that roll), or simply find a roll in my storage (for reprint purposes).

Note that the following naming strategy requires relatively long file names. Most operating systems have no problems accommodating such length, although there are systems (and CD formats) that only allow for an 8+3 format (eight characters plus a three digit extension). It is clear that such systems will seriously hinder any useful naming strategy.

In all places where I have refered to an 8-digit date prefix (eg. 20041031), a 6-digit shortened version (eg. 041031) is also equally as suitable. The advantage of using two less digits for the year is in making the filenames a little more manageable. The only potential downside I see (and it is an extremely minor one!) is in the sort order of having the 1900's photos (eg. 1998 = 98) be listed after the 2000's photos (eg. 2004 = 04).

File Renaming Utilities

I strongly suggest that one use a photo importing utility that provides file renaming (either a standalone utility such as Downloader Pro, or a tool integrated into your image browser software). If you don't use such a program, or you already have files on your drive with inconsistent names, then you may want to consider a batch file renaming utility.

Folder Hierarchy

Please see my section on photo folder organization as it is intended to be used in combination with this file naming scheme.

Naming for Digital Camera Images

The first thing that all new digital photographers should realize is that using the sequential file names created by the digital camera is a bad idea!. Why? Most cameras create a 4-digit sequence number, and it does not take long before 10,000 shots have been taken. Once the sequence numbers roll-over, you no longer have unique file names. Creating non-unique file names is a dangerous thing! Thus, it is imperative that one consider a suitable renaming strategy that helps create some degree of uniquess irrespective of file system folder hierarchy.

  1. Prefix. The eight-digit prefix (plus underscore) is typically the EXIF shoot date, not the Windows Last Modified Date. An example is 20041112_. This date should also match the folder name, albeit in a more compressed form.
  2. Optional photographer ID. In the occasional situation where I add photos taken from other digital photographers to my collection, I add a two-character ID string (eg. jd_ for John Doe). This helps keep the photos somewhat seperate and reduces the worries about having to ensure that the camera-generated serial numbers don't cross over / collide. Of course, there is no harm in simply renumbering the serial numbers from the camera, either! I also use this to handle multiple cameras. For photos from my main digital camera, I will not use this optional ID, but for photos from one of my other cameras, I may optionally insert an ID.
  3. Serial number. For digital camera pictures, I keep the 4-digit number that was automatically generated by the camera (eg. 5112 is extracted from IMG_5112.JPG).
  4. Optional suffix. If this file is an original, no suffix is used. For files that are derived from the original (eg. edits, resizing, etc.), I tag on a hyphen character (-) and a single-character type version indicator. The characters used are highly dependent upon your needs as a photographer. I typically use a -e to indicate an edited version and a -s to indicate a resized version (that might also be edited). The -s is often used for versions of my photos that I put on the web.
  5. Optional suffix version. For edited versions (ie. non-originals), I can add a single-digit number after the type indicator to specify which version this edit might be. An example of a suffixes for two versions of an edited file is -e and -e3.

Examples of digital camera file names using the above strategies:



Naming for Scanned Photo / Slides

  1. Prefix. The eight-digit prefix (plus underscore) is entered manually from the estimated date of the original photo. An example is 20041112_. For situations where I do not know the exact date, I still provide what information I can, and zero out the rest. In other words, if I was pretty sure that the photo was from March of 1997, I would set a prefix of 19970300_. Similarly, if I have a scan from a completely unknown date, I will use a prefix of 00000000_.
  2. Image Type. Single character indicates whether it is based on a print or a slide. A r indicates a roll of negative film / print, while a s indicates a transparency / slide.
  3. Roll number. Four-digit roll number that [ideally] was assigned at the photolab. Generally this number is kept with the negatives, or placed on a sticker on the outside of the work order. Of course these are not always unique, but the eight-digit date prefix should generally take care of that. Following the roll number is another underscore character _. An example roll number string is then 8441_. If I no longer have a roll number associated with the photo (eg. I lost the negatives), I temporarily give it 0000_, but eventually I will create an arbitary four-digit number (eg. 8001_) to be used for all photos from that roll. Sometimes, the 4-digit roll number also appears on the back of the print, but this has not always been the case.
  4. Photo number. Two-digit number from the negative or slide. The photo index is zero-padded to two digits. For example, if this photo is number 7 on the roll, the photo number string is 07. If the photo is marked as 7A, then I simply ignore the additional letter (giving a photo number string of 07). Occasionally, one will find photos starting on image 00, then 0, followed by 1 through 24 (or 36). For photos at 00, I renumber it to 39. If I don't currently know the photo number (ie. I haven't bothered to look up the negative yet), I give it an arbitrary two-digit number greater than 40. Since almost no rolls of film have more than about 37 exposures, this should help identification later.
  5. Optional suffix. If this file is an original, no suffix is used. For files that are derived from the original (eg. edits, resizing, etc.), I tag on a hyphen character (-) and a single-character type version indicator. The characters used are highly dependent upon your needs as a photographer. I typically use a -e to indicate an edited version and a -s to indicate a resized version (that might also be edited). The -s is often used for versions of my photos that I put on the web.
  6. Optional suffix version. For edited versions (ie. non-originals), I can add a single-digit number after the type indicator to specify which version this edit might be. An example of a suffixes for two versions of an edited file is -e and -e3.

Examples of scanned image file names using the above strategies:



Missing Roll Numbers

When trying to digitize a large number of prints from my days of film photography, I often ran into the situation where I could not find the roll number from the set of prints or transparencies. In these situations, I usually elected to arbitrarily assign a 4-digit ID (eg. r4000), and then attempt to transcribe this number back to the page or folder that contains the negatives, prints or slides. Other times, I will simply use the sequence 0000 to indicate a roll that seems to be missing the roll number. In these situations, I am relying more on the shoot date to preserve filename uniqueness.

Multiple versions — Print, Email, Web, etc.

As shown above, I use an optional suffix version to indicate multiple edited versions of the same file. I don't currently place any restrictions on how I create these version numbers besides the fact that I always use -e# for edited versions that have not changed in size and -s# for versions that have changed in size and possibly edited. As you can see, I prefer the ability to determine that a file has been resized over the fact that it has been edited. This is intuitive since resizing is simply a subset of edit functionality.

It is also possible to take a different approach whereby suffix versions are assigned to indicate the purpose or destination medium. For example, one could use -sw / -ew to indicate web, -sm / -em to indicate email, -sp / -ep for printing, etc. As before, one can still add on a digit to indicate multiple edited variants (eg. -ep1 and -ep2 for two different edit attempts on the same photo, destined for printing).

The reason for distinguishing the files on the basis of destination is that different settings are often used depending on the final destination. For example, the level of sharpening (Unsharp Mask / USM) applied and the level of compression will vary depending on how the image will be output. Obviously, a saved version of a photo that is destined for email will require much greater compression for practicality than a version designed for printing.

Please see the related section on when to copy files for editing.

Uncontrolled file naming - Non-photos & Files from others

For files that are not photos that I want to control under my naming system, I simply name it however I like, but I ensure that the file name does not start with an 8-digit prefix followed by an underscore. This way, I can make sure that all of my scripts only process files that have a proper prefix, and leave all of the others alone.

                  peru_map.jpg        (uncontrolled)
                  jokes_chicken.jpg   (uncontrolled)
File naming for uncontrolled files

Sample of Overall Naming Scheme

A sample of digital camera photos imported with the above naming:

File naming with date prefix

To help ensure uniqueness, I try to preserve the 4-digit serial number that was in the original file name on the memory card. The downloading software (Downloader Pro, in this case), is set to concatenate the EXIF date with the original file's serial number and extension. Note that it is important to use the EXIF date, not the "last modified date" or "import/current date". The latter choices will cause a lot of confusion down the road!

To see the options within Downloader Pro that produce this arrangement, please see the Downloader Pro page.


Reader's Comments:

Please leave your comments or suggestions below!
 Working within my cataloging system and editing software I have found it imperative to place the photo's sequence number first in the name. My sequence numbers are unique within a photo shoot or event folder.

Many photo programs when showing a large group of photo names or thumb nails truncate the last part of the file name. If the sequence number is last the result is a horrible listing of photos all with the same name presented to select from.

many photos listed as 2014-12-12 Marys Wedding ......
but only one 0275 Marys Wedding 2014-.....
 I'm curious how you would go about naming
I have loads of film in all sorts of categories and I'm trying to figure out how to easily find whichever image I need.
Sheet film doesn't have roll numbers so I'm at a loss.

Thank you
 Hi Harry -- I understand most people label their large format sheet film on the negative sleeves or sometimes even on the sheet edge (eg. with a rapidograph). If you don't know the event/shot date, then I would just assign an arbitrary 4 digit code. Then you can use the digital asset management software (catalog program) to associate the metadata with the images when you later scan them. Or, if you're just using windows explorer, you could also create folders per arbitrary code.

The following is how I would do it, but obviously any careful scheme should work OK. Since the majority of my images are dated, I would want the new images to fit into the same folder hierarchy, so I would probably do something like the following:
I typically use a folder hierarchy in the format of:

However, with the special case of negatives with an approximate year but no date, I would assign an arbitrary 4-digit code that follows the convention: (note that I use a "n" [negative] prefix to help differentiate these from other files in case I need to do batch renaming later):
... where XXXX is the arbitrary negative index and ## is the image number.
If I had no idea about the approximate year, then I would assign the year as 0000:

Hope that helps!
 I'm an amateur photographer who mainly takes photos on vacation and outings. I normally collect my friends photos from the same trips and outings. This forces me to separate them into their own folders. It would be nice to have my photos and my friends all in one folder such as X:/2015/Hawaii/
Using optional photographer doesn't exactly rectify this issue either because photos taken on the same date will be mixed with my friends pictures:


The only way i see around this is putting the before the date, which will disrupt the consistency of the file naming conventions.

 I find using an optional photograph tag after the date to work quite well. Of course the best way to view and locate your images would be through a catalog / image management program (DAM) rather than browsing through folders on your hard drive. Nonetheless, if you choose to use the file system, then you may be able to enter in your _ME_ into the window's search box within the dated folder and only see the list of files that contain your name tag (hiding other peoples' shots).
2014-03-24Connie Benham

I have been reading the article and all of the posts and there is so much information here. I am in the beginning of a project of scanning photos for my stepmom to put on her tablet for viewing. There are no negatives and the photos were thrown together with no organization at all. I am trying to put photos by persons or event (series) or places or year if known or pictures with her in them. I want to be able to find the pictures easily. There are so many variables.

Face recognition with people you do not know is very interesting, I can tell you that.

Has anyone ever done anything like this and can give me some advice?
2014-01-15Art Taylor
 Hi, Thanks for some interesting articles about file and folder naming. Like Ken, who commented on 2005-12-20 about having a collection of railway photos, such photos comprise a major portion of my collection of slides, prints, negatives, and digital camera originals. I would be very interested in comparing notes with him if you would please forward my contact info to him, with a request to email me. I'm currently based in Sudbury, Ontario and have a number of ONR photos from North Bay and elsewhere. Thanks for forwarding this request to him.

Art Taylor
 Hi Art! I have forwarded your message to Ken on your behalf.
2013-08-04Craig Knapp
 Sorry for the length of this posting, automated software recommendations to sovlve the problem of using multiple digital cameras but keeping files in FILE NAME and CHRONOLOGICAL order are listed at the end....

I have been shooting photos since about 1976. In addition to shooting with DSLR's starting with digital Point and Shoot cameras in about 2001, I still shoot, develop, and print B&W film up to 4x5 inches, making prints up to 16x20 inches in my traditional wet darkroom.

I cannot believe that just this week I found a solution for this file digital photo file naming problem (found it on Google Play by accident of all places) considering all the photo web-sites I visit daily like DPReview, APUG (Analogue Photo User Group),Ken Rockwell, Thom Hogan; the photo magazines I subscribe to, and the technology web-sites like I routinely visit, and have never seen this discussed.

Perhaps photographers are aware of the solution because they use different software. I do not use Adobe's Light Room as when I tried it several years ago, after having started a similar sub-directory by DATE/SUBJECT many years ago and already had thousands of images, I did not like what I called the "virtual cataloging" concept. I prefer the physical organizing of my files, and I had too many images to start over. I have been using ThumbsPlus by Cerious Software for over 10 years to manage my digital photo collection.

I too started using the sub-directory structure you outlined back in the DOS days for data files, and kept using it for digital photos. However, when shooting with multiple DLSRs at an event (one with a wide zoom, the other with a tele-zoom) and sometimes a Smartphone, I would make a DATE SUBJECT sub-directory, then below that one, create a sub-directory for each of the three cameras. If I put the photos into one sub-directory they would be out of NAME sequence as each camera is "counting" its own photos, thus not being in numerical order when placed together. If sorted by FILE DATE they would be in order for awhile...but after editing them, the new FILE DATES would get them out of order also.

I am good with computers (learned to program with DB-II before using a Word Processor) and cameras, and I cannot believe that I just found solutions this week to keep photos in FILE NAME ORDER though Batch Editing Software and APPs for my Android Smartphone (actually discovered the solution first on GOOGLE Play when searching for Batch File Naming) which automatically renames the files (BEFORE EDITING PHOTOS!!! very important) to the EXIF DATE TAKEN (using a format you select) and adds a Suffix you create such as "NikonD700 cKnapp", giving me files named "YYYY-MO-DAY HR.MIN.SEC NikonD700 cKnapp.jpg". After editing a photo I use a technique I have used for years, in that when saving the edited photo I added a "C-nn" to indicate Change, and a brief description of the software used to edit the photo and the effect/edit applied. Now I will add a "c" after the SEC and the software/effect/edit used (in case I want to duplicate the effect later) after the suffix like this:

Original after automatic Batch Renaming to EXIF DATE TAKEN
2013--08-04 19.43.42 Nikon D700 cKnapp.jpg

After Editing
2013-08-04 19.43.42c Nikon D700 cKnapp SageLight HDR Clahe Surreal.jpg

Regardless of which File Browser, Image Manager, Photo Viewer used on PC or Android, my photos will be in File Name AND Chronological order simultaneously (by date taken, not edited) just by sorting by FILE NAME!!!!

I am not going back to rename all my old digital photos as I would lose the part of the file name that contains the information regarding which editor/effect/corrections were used as well as other things like the name of locations/people/category etc., that I included in those older file names. I am using this method, starting this week for all new digital photos.

For Android try PHORGANIZER to automatically Batch Rename photos to their EXIF DATE TAKEN (allows you to add a unique Suffix), there is a free version and a Paid Version, worth the money! Neither AppBrain Ad Detector nor WakeLock Detector reported any nefarious activity from the APP PHORGANIZER.

For the PC there are some pricey ones out there but I found NAMEXIF for free, to automatically Batch Rename photos to their EXIF DATE TAKEN (allows you to add a unique Suffix), and Kaspersky Anti-Virus did not detect anything nefarious. NAMEXIF does accept donations, I made one of course.

For those times the EXIF DATA is lost or destroyed as happens when using some photo editing APPs for Android (which I notice happens less with PC software), there is an ANDROID APP named EXIF TAG EDITOR which lets you copy the EXIF DATA from the Original File and paste it into the edited photo so you have the DATE TAKEN recorded in the file. For the PC I found that ThumbsPlus by Cerious Software (which I have used for about 10 years, current version is v9) allows you to edit the EXIF DATA manually, there is probably other software out there that does this as well.

I hope this information is of use to someone.

Craig Knapp
Age 51
2012-04-27Vianne Scott
 Hello! I am so happy I have found your post! I always had a problem with keeping my photos without any loss. I have plenty of pics since I often participate in photo sessions but sometimes the files on my computer got mixed and I can not find some photos I need. I hope your strategy will help me and all my pics will be protected from being lost.
 thank you for this article, my parents have recently passed away, and i am facing a huge scanning project and quickly recognised that naming the files was THE quagmire.

Your scheme will become a basis for my system,
i think though that unknown dates will have an x in them.
i have a photo of my mother as a child - i know it's from the 1940's but not the exact year. i'll give it the date index of 194xxxxx since 19400000 would mislead that the year was 1940.
thank you once again
 Personal, pro bono or other mcse work which does not generate an assignment number are a little more free-form. Folders usually are named with the date in YYMMDD format and have some sort of descriptor such as Backgrounds 050508. Important images will be given a descriptive name which usually does NOT include the date (the date is on the folder it's in) but has the last 4 digits of the original capture. For instance, "clouds3892.jpg" is a panorama of images 3891-3893. If I want to go back and re-edit the original, there's no doubt which one(s) to grab.
 I have a question. I use a format such as: Jones_Henry, Matt, Angel.jpg for family photos. Recently after using that same format, it appears in my file with the file name:
Jones_Henry-Matt-Angel.jpg. Do you know any reason that my commas are being changed to hyphens and how I can prevent that in the future?
Thank you.
 Hi Judy -- I'm not sure what program you are using to name the files, but some programs don't allow you to use commas, spaces or other punctuation symbols. In these cases, they are often substituted with underscores or hyphens.
 Hello. First, great website!

So, is file renaming lossless? The file name is stored in the EXIF and during renaming it gets changed in the EXIF too - so surely (maybe) the file has to be decoded and re-encoded, which would mean loss...?

Do I need to get a specific "lossless renaming" program? Can you shed any light on how this works? Thank you!
 Hi Rich -- Thankfully, file renaming is lossless. In most cases, programs that alter the EXIF information can do so without actually decoding / recoding the JPEG scan data. This assumes that you are not doing the updates with a photo editor, however (in which case it differs on a case-by-case basis).

Therefore, you should not need to be on the lookout for lossless renaming programs.
2009-06-06Mike Mills
 I have different needs and accomplish my file renaming and ordering differently.

My pictures are rarely of print quality and are almost universally stored in 800x600 or 1280x720 format.
This reduces the FILESIZE of the stored pictures to 1/10 of their native size for a 6mpx camera.

I have every picture that I have ever taken with 3 different cameras plus many pictures of all the birds of the world, and a lot of other pictures of miscellaneous interest stored on an 80G drive. This is about 200K of separate files.

Of course the tedious task of backing large projects is time consuming, but weekly or monthly backups of current DIGITAL PHOTOGRAPHS is much quicker when CD's are involved. I back up to a second hard drive as well.

I have never lost a picture since 1993 [that I know about].

Many of my pictures are of animals and they are filed by species using taxonomy rules. The files are nearly always similar to the directory name, unless they are associated with an html file in the same directory. Spaces are not allowed , but replaced by underscores. My renaming software does this automatically and sorts by filename length in case any go over the 62 char limit which I try to follow. Subdirs greater than 8 deep can cause problems for some cd & dvd burning software.

In the case of PERSONAL DIGITAL PHOTOS , they are stored in the [graphics] folder by year month and date , which is rarely useful for searching. Again directories within the numbered folders for example 08\o1\13\ ,have real names "uncle_fred_cottage" for example, and are numbered.

This is accomplished with a dos util called "Jhead" which reads its content from a textfile called "mike"
jhead -du -dt -ci mike *.jpg
This is nearly instantaneous even for a large number of files.
The other EXIF DATA is preserved.

For large collections like all the cars of the world, I again use the directory system based on the auto's name followed by a year prefix for each picture. For example :
1965 Ford Mustang cvrt cpe.jpg , for the convertible coupe model. maybe colour info or special info is tagged on the end of the name.

Jhead is a program for manipulating settings and thumnails in Exif jpeg headers
used by most Digital Cameras. v2.84 Matthias Wandel, Oct 4 2008.

standard way of stripping out thumbnails, and inserting comment in each .jpg file.

delete thumbnail
delete useless
comment insert from file "mike"
do to all .jpg

==== USEFUL TOOLS =====
I like Irfanview, especially the latest version.

I use FastStone image viewer and editor frequently

I really like file.exe from , it creates a tiny .htm file for the contents of a directory.

I often use "pich" to create very small .htm files for displaying directory contents.

I use Renamer 6.0 by Albert Bertilsson and it has never failed me even on directories 3.6 gb in size!

Indexyourfiles is a great and fast way to not only find stuff without having to index your whole directory, but also for searching, deleting, and editing within the found list. Indexyour files can create an index which can then be burned to a dvd and work *directly from the dvd*

I use "Everything" a disk indexer which can be trained to index at very quick speeds subdirectories or complete drives.

All of the above are freeware.
 Fantastic! Thanks Mike for sharing this great set of workflow suggestions.
 Was wondering if you use an Imatch script for naming your files using your naming protocol, and if you use an Imatch script for moving your files into your directory hierarchy?
 Actually, no. I much prefer to use Downloader Pro for importing, renaming and folder hierarchy creation. I can highly recommend this tool over just about any other equivalent utility.
 I am interested in communicating directly with Ken, who left a comment on 2005-12-20, because I am also a railroad hobbiest with many thousands of train photos.

I would appreciate it if you could forward this message to him along with my email address.

 Hi. Thanks for the advise. Just another quick question.

I've inheritted a large shoe box of old photos and some slides. I can fit them into the naming convention using the photographer ID, but I'm not sure what to do about the roll number or photo number part.

I guess, I could group the photos into rough groupings based on where/when they were taken, and assign a random roll number to that group. Then use a sequential photo number for the photos within that group?

Keep up the site - it's a fantastic resource.
 With this type of situation, there is certainly no obvious way to assign the numbering. If the photos have a 4-digit number printed on the back (roll number, not color correction settings), then I'd try to group by that first, but otherwise just make an arbitrary groupings of, say, 20 photos per roll. In doing this, you may want to group by subject matter, place, type, etc. as when you see these scans in directory listings, they will often by sorted alphabetically (i.e. incrementing numbers), and you might as well choose the order if one is obvious.

Good luck -- it sounds like a big project ahead of you!
 Hi. Do you make a distinction between scans from negatives and prints when naming? I was thinking about adding a p or n before the photo number. For a lot of my early photos, or those I've inherited, the original negatives have been lost.

In general, do you always try to scan from the original negative?

 In my workflow I don't bother to distinguish the scanning method in the file name itself. I do, however, mark transparencies / slides differently (YYYYMMDD_s####_##, s stans for Slide) than prints / negatives (YYYYMMDD_r####_##, r stands for Roll).

In the cataloging application, I have a lot more flexibility with categorization / metadata, and so that is where I will mark the scanner / method used to import the photo. As most scanners do not tag the images with an ICC profile, and each scanner has a different view of their color space, it may be beneficial to use a keyword / category for such a purpose (for later color correction).

When working with prints / negatives, I tend to do a bulk low-res capture of my old photo albums from prints first, but then rescan the negatives of the shots that I particularly value. Scanning from the negative is obviously much better, but it is significantly slower and occasionally the color correction can be difficult to get right (depending on the film). Of course, scanning from a print has the major drawback of lowered resolution, color gamut and the occasional need for descreening and sharpening.
 Would it be fine to have for example 20070307_0001 and 20070311_0001 in the same folder? Wouldn't it only become a problem if they were the same date?
 There's no problem at all with having those files in the same folder, as they ultimately have different filenames. So long as your sequence number doesn't occur in multiple photos on the same day, there should be no problem.
 Regarding the serial # on a digital image:

Is it important to maintain the number that was given to the photo originally? If so, why is this?

I would think that if for some reason if you wanted to search by filename it would be better to make the order of the serial # be in succesion vs the # given by the camera.

I noticed that when renaming some of my photos, because of the way I like to view the photos (by month then by most recent shot first) on ACDsee, I accidently named the serial # backwards. For Instance, 0001 was shot after 0002, and so on....

Do you see this as a problem and if so should I go back and renumber the serial #'s in the order of first shot 0001 next 0002 and so on???

Thank You!
 It is definitely not important that one keep the original serial number from the camera. I only do this because 1) it makes generating the unique filename quite easy (instead of asking the importing software to renumber the photos while avoiding filename collisions) and 2) it helps me quickly identify if I have already imported a particular photo (e.g. if I didn't format a memory card before using it).

So, you're free to do whatever renaming you like, so long as your method is easily automated and you avoid naming collisions (two photos in your collection with same filename but different folders, for example).
 How do I input the creation date into a video file?
2006-10-24Alex Popoff

Thanks for your heplful resource.
IMHO, one can want to use another approach for naming files.
Naming convension for versioning with braches:
X - initial filename (extension depends on file format and may vary from version to version).

                  (new version)     (new version)
|                                   |
|                                   ---X.02.a.01 (new branch)
---X.a.01------X.a.02-----X.a.03--------X.a.04 (new branch)
   |                      |
   ----X.a.01.a.01        ----X.a.03.a.01 (new branches)

Use IMatch multiple categories to define image's:

  • Original (never modify!)
  • In Work
  • Released
Workflow stage
  • Untouched
  • Cropped
  • NoiseRemoved
  • etc.
Function (mission)
  • Print10x15
  • PrintA4
  • PrintA3
  • Web
  • etc.

IMHO, one may never use categorizing (and classification) in labels/filenames.

 Thank you for sharing some excellent suggestions for handling branches. While most photographers may not take such a methodical approach, those who create many variations should be adopting a scheme that preserves the branch hierarchy as your example shows.
 Hi: This is an invaluable site! I love it.
I am new to cataloging images, but I'm a librarian, and one would think there is a lot on this topic in the library literature. NO! The information and suggestions you have here are terrific.

I have a question: On the page above, you advocate keeping the automatically generated serial number as part of the file name. Why? It seems to mean nothing. I would think that if you're going to use 4 characters for something, you would want them to tell you something.

You have obviously thought about this a lot more than I have, so I would appreciate your thoughts on this.


Len Bick
 Thanks!! The main reason for the numbering scheme is to provide uniqueness -- filename collisions are a nightmare for organization. So, if you have already started with a date at the start of the filename, then all that remains to provide uniqueness is to ensure the rest of the filename is unique per day. There are several reasons why I suggest one keep the camera's sequence number, but none of them are absolute must-haves:
  • One must have an automatic numbering scheme -- it's impractical to do the numbering / naming manually
  • Using timestamps (such as HHMMSS) is somewhat difficult if you want to condense down to 4 digits, unless your renaming software can create a suitable remapping. Otherwise, choosing HHMM or MMSS will very often yield filename collisions. Some people find a date plus six digits to be getting unwieldy (note that some programs and viewers only show a certain number of characters in the filename). Even if you use HHMMSS, you can still run into filename collisions when you are shooting in multi-shot sequences.
  • The camera's numbering scheme is generally unique, so why not use that as a foundation for your scheme?
  • Using non-deterministic sequence numbers that are generated by the importing software (e.g. incrementing counter, time of import, etc.) is not very good as you lose the ability to verify automatically that you have not already imported a given image. Many times you might forget to format your memory card and you end up trying to reimport old images. If you regenerated different filenames each time, then the software cannot distinguish these files as easily. Hence the need to rely on a deterministic numbering scheme relying only on information stored within the original image file or filename.
  • It's not easy finding other information in the image (embedded in the EXIF metadata) that also guarantees the uniqueness characteristic.
Hope that helps! Cal.
2006-05-07Fabian Dierckxsens
 Thank you for posting this excellent scheme for managing filenames. I have been looking months for a good solution which is quite future proof. I'm using acdsee pro now I my idea is to add for iptc codes to all jpg files so it's even more future proof.

I have 2 questions:
My camera shoots beside pictures also:
- panorama pictures (different name scheme which have to be stitched together afterwards)
- and movies resulting in avi files.

How would you name those files?

A) panorama pictures have the following name scheme:
:Above is a panorama consisting in 3 pictures. The numbering follows the same numbering as for pictures.

My first idea is to use the following naming convention but maybe there are better schemes?:

BUT according to your naming strategy, at the place of STA, STB, ... you place a reference to where the picture is coming from.

B) movies
mvi_1792.avi --> yyyymmdd_1792.avi
Ok like this, or is there a better alternative?

Thank you
 I don't see any problems using your naming scheme (where you preserve the STA..STC, etc.). The main question is really how you plan to keep the related panoramic photos together -- you can either rely on file naming to show the grouping, or else you can rely on the image catalog software to maintain it (via image stacks, for example) and discard the ST#. As the image grouping in the catalog programs is not widely supported, I would opt to leave the naming scheme as you have shown above.

As for my reference to where the photos is from, it certainly doesn't have to be. I suggest the dated prefix and a serial number end, but anything can be placed in-between and as a suffix. Generally, I use it to mark slide or print numbers or other photographers, but panoramic indices is also a good idea.

With the movies, I tend to rename them as you have listed (ie. yyyymmdd_1792.avi) and drop the digicam naming (eg. mvi_). We can easily rely on the file name extension (eg. .avi or .mpg) to give us the extra hints.
 Thank you for sharing this excellent naming system.
I was thinking about a way to organize my collection, and this is definitely a good way to go. One question, however, remains:
How do you recommend to organize file types? I was thinking of creating subfolders for RAW, jpg and converted/processed file types. Your system does not seem to use any subfolders, just tags with processing info. What are your suggestions on that? TO be future-proof, and be able to use scripts, would it be better to keep the shots just in the corresponding day subfolders?

Thank you for your comments.

 Hi Martin --

Actually, I do strongly suggest (on my folder organization page) that one does keep their photos separated into folders by the date (or some other structured keyword / index combination). As for the separation of file types between folders, I am less inclined to do that as the file naming scheme helps accomplish that to some extent by relying on file extensions and suffixes. That being said, a large number of photographers do use a separate folder (typically a subfolder at the bottom of the hierarchy) to keep processed files.

Because I rely heavily on scripting, I find it easier to keep a shoot / date's worth of photos all in the same folder and then rely on a naming scheme to separate the derivative types, rather than having to direct the script to optionally search or use a subfolder. But, it would have been just as easy to use the subfolder scheme.

Hope that helps & thanks for your post! Cal.
2006-03-14Eneraldo Carneiro

Your strategy makes sense. However I still think, and my experience have been that people ask for pictures based on their subject content (in my case I have a small agency and sell stock), rather than dates. Of course I may let a database software do all the categorization work, no matter where the images are located fisicaly (or logically), and then also let the software do all the searching job. It's fine. My concern is what happens if the program is discontinued for some reason (company merge, bankrupt, etc)?
I think that have the pictures organized by subject outside of a database software could be very helpfull if something goes wrong with the database. Specially in a deadline afterhours. Could make the work of build the sistem worth.

Best wishes

 Yes, one would definitely be dependent upon the catalog program. While your concerns regarding the discontinuation of a product are certainly valid, most programs now virtually eliminate this concern. The reason? You can either export all of your tagging data into an open file format or else write back the tagging info into the files themselves in the image metadata fields (eg. IPTC).

That being said, in an environment like yours where recall is typically done on a per-client or per-shoot basis, it makes more sense to integrate the shoot identification into the file names. This mechanism works fine in this case because there you are probably only adding tags into the filename that are generally exclusive. The situation that I have described above with my suggested naming is more appropriate for those filing personal collections where there is a multitude of non-exclusive and uncontrolled tags.
 Thanks for sharing your method. I have just started to digitize a lot of old photos and your method makes the most sense. I am notorious for changing my mind so I knew that I had to find something to keep myself consistent. In what folder would you put a scanned photo in which you do not have a complete date for?

Photo file name is: 20000500_0000_12.jpg

Would you file that in the 2005 folder only? Or do you actually create a folder 2000-05-00?
Thanks again.
 I would place the photo in a subfolder named 2000-05-00 as you indicate above.

Why? It's important to keep consistent with the way the folders are used. The year folders only contain other folders, not individual images. If one mixed the organizational methods, it is likely to be bitten later on down the road.

If you are careful and consistent with your naming conventions, then it generally isn't much of a problem to change your mind later on! A goal should be to make it easy for a program to search & replace your file and folder names, just in case. It would be a simple matter for me to rename 40,000 of my photos in a short command script to adopt a different naming convention, if I wanted to. Unfortunately, the drawback to changing your file naming scheme is a one-time impact on any incremental backup process, as the software will assume that all files have changed.

Good luck!
2005-12-30David C. Buchan
 The advent of flickr and discovering how it pulls EXIF and IPTC information has led me on a merry chase working out how to convert PNG to TIFF so I can put IPTC data in and then to JPEG on the fly for uploading to flickr. One of my problems was caused by my using of IMatch's object id for file names. Sure it is unique but not so useful.

With 5500 photos from digital cameras and scans and 2500 video clips indexed your naming system with its blend of dates, controlled and uncontrolled files is exactly what I needed. I've already put my father-in-law onto the system as well.

I have adapted things somewhat to suit my own data. For example, I have used a 'p' prefix instead of 'r' or 's' to designate a scan from a print. With 2000 photos from our eighteen months stay in the UK, it's not worth tying each photo back to the original negative. I've been working with them on an album by album basis. Our first photo therefore was 19990326_pUK01_001.png. The UK01 designates the first UK album (of 9). I've also had to use 3 digits for the photo number. Incidentially I found that when I did look at the original rolls I found my camera counted backwards from my wife's which made a natural ordering impossible.

I would like to commend you for your time taken to write this up. I understand the time it takes to develop such a system and to document it in an understandable manner for others. Thank you.

 Thanks David for your nice comments... I'm glad that you have found it useful!

I found your site looking for ideas on a naming convention myself. Very interesting, thanks. I have been using a scheme to label photographs of railroad equipment and related information, so I thought I would share it.

Example filename:

Box ONT 900012 1978-07-23 NorthBay JohnSmith (Comments).jpg

The first three letters are the type of equipment (BOXcar, GONdola, etc.) Next is the official call letters of the particular railway and the equipment's unique number. Next is the date, location, photographer and then a comments section. The comments can be used to make notes, or indicate a scan of a slide or photo on hand. If I do not have a scan yet of a file, or I have a large blueprint for example, I will create a text file with the same name as a placeholder to index the hard copy.

I chose this plain english long name method because of the ease of doing a search with Windows Explorer, and for sharing files with computer novices. Although the names are long, a novice can quickly understand the search results and scroll through the list or thumbnails to find an image.

There is actually a pretty small set of values that go into each space, as my photos apply to a small localized railroad, so managing them (controlled vocabulary) has not been too bad so far. If the photo details are not know, I use UD, UL, UP to indicate unknown dates, locations, photographers. If there are no comments, just (). This allows a consistent file name that can be parsed, etc.

Sometimes railfans take a series of really detailed close ups of a particular piece of equipment for modelling it. In this case, I do not use the scheme on every single photo, but only the directory name. Indexing 50 photos that cover every square inch of a locomotive is a chore at best! So technically in this case, I would be dependant on the directory structure to house the files, although I could go to a short form for these.

Lastly I can dump a list to a text file, and have a record of what is on hand. I can also print index sheets. With the long names, any railfan can pick up the list / print and understand the info.

Thanks for the ideas from your site, and I welcome comments and ideas.

 Thanks for sharing your approach, it's very interesting to see a scheme tailored to a unique environment like railway photography. In your case the advantages of plain-text file-naming are significant:
  • Sharing photos with novice users
  • A very controlled set of keywords (types and model numbers) and controlled keyword order. Since these important search terms will always appear at the start of the filenames, it is a simple matter for users to sort alphabetically and get the recall that they are looking for.
Thanks, Cal.
 Your naming scheme is good. However, I would like your opinion on something that I am a little concerned about. Lets say hypothetically you wanted to pool images from a large population of individuals. Keeping your own naming scheme.. What would you recommend using for the Photographer ID, given the possibility that two individuals might have the same initials. I was thinking something like first initial, last initial, last 4 digits of social security number.. but SSN's are only for people in the USA ... so, you see where I'm heading with this. What would make a good solid (and reasonable) Photographer ID?

Thanks :-)
 The answer really depends on how many photographers you are pooling photos from and whether or not its feasible to assign each one a number. It should be a simple matter to create a three or four-digit assignment that you use to lookup at import time. If you are using an import utility such as Downloader Pro, you can enter this as the job code for each batch. Depending on the type of cameras that the photographers are using, you could also use the mapping functionality to generate their ID on the basis of the owner string and serial number.

So to answer your question, you are likely to have naming collisions if you use the SSN or initials, so you'll probably have to move to a pre-assigned numerical index strategy. Good luck!


One more question: I have images that don't came with the EXIF's complicated. Most of the images downloaded don't have the EXIF information. Any method to organize tese images?


If I want to organize photos that didn't contain the EXIF information, I either try to approximate it (if I knew what dated event it came from), or else I simply mark it with the date prefix 00000000_. If I happen to know some information, such as the year, I might prefix it with 20050000, if I know the month but not the day, 20050300, etc. If it is a file that is downloaded from elsewhere and I want to preserve the original naming, I leave it as is. My scripts will leave it alone as it does not have a date prefix. Everyone will have a different approach to this issue, but so far my one has worked extremely well for me. I currently have about 32,000 photos in my database with this scheme. Of those, only about 300 have been left with their original name (ie. no dated prefix).



Great job! I've been searching these methods for years. Surely I will use the dating method in my about the folders order? Do you have any method for these?

It is how my Images folder looks like:


So...what do you think about it? Thanks.


Daniel -- What you are facing is the dilemna that most people encounter when trying to determine an effective file organization scheme. Do you put the categorization information in the folder / file names or do you use a catalog program to do mimic this?

You didn't mention whether or not you are currently using dedicated photo catalog software to manage your photos. By the looks of your directory structure, I am going to assume that you aren't.

I strongly believe in keeping the categorization outside of the file and folder names. Why? Because relying on file / folder naming is far too limited. Limited for the following reasons:

  • Unscalable
    You can only really tag a single category to an image in this way. What if a photo contains two important people in it? What folder would you place this file into? Over time it is going to become more and more difficult to come up with appropriate directory names and you will spend a lot of time trying to decide which folder a photo should belong to.
  • Unmanageable
    What happens if you decide to rename or rearrange your categorization? If you are encoding these categories in your folder names, you'll have to manually update the folders.. changes to your hierarchy or overall structure might take a lot of work. These updates cannot be automated very easily at all.
  • Lack of Automated Import
    Because the physical location of the photos must be hand-selected, you cannot have an importing application automatically move the files into your directory structure.

Instead, I strongly recommend that you use a catalog program to manage the tags, keywords or categories that you are assigning to photos. Then, you can simply name your folders chronologically. Have a look at my article on folder naming strategies.

Sometimes it is worth incorporating a combination of the two approaches, but I would recommend only including critical (single-use) naming in the folders, not general categories. This is most often useful for professionals who want to add in a job code or description to the folder name (eg. client name or photo shoot). For example:


Good luck!

2005-09-24David A.

Thanks for your wonderful articles regarding photo management. They're extrememly useful to me as I prepare my own strategy for organizing my family's photos.

Is there a specific reason why you use the hyphen character - for your optional suffix instead of an underscore _ like you do between fields in the rest of your filename structure?

Have you found any cases in which the hyphen character has caused problems, whether with particular software, or with scripts?


Hi David -- Thanks... Good question. I have deliberately used a different character for the optional suffix than is used for the rest of the separators -- this makes it easier for scripts to identify the suffix. When it comes to running a script on your image database, it is more likely that you are going to want to identify the presence of a suffix, rather than the separating the actual date or photo number.

Therefore, I chose a different character (the hyphen) so that my scripts could easily identify the existence of this special character and treat these files differently. The primary motivation for this was with my Manage Versions script which I wrote for IMatch. Having a special suffix character meant that I could easily differentiate between original images and derived/edited versions.

I have not encountered any problems with using these separator characters in the filename. I would personally stay away from spaces, slashes, decimal points, commas, etc., when selecting a character to use. However, most characters are now supported fine by modern versions of the Windows OS.

Good luck on organizing your family collection!


Great naming strategy. I've tried various ones, and I've finally adopted a very similar one based on yours. Instead of the image serial number I use the six digits timestamp (avoids the multiple memory cards problem without having to manually adjust). I also use the camera model in place of the photographer ID for my own shots (I use a digital compact for those times when it's not practical or safe to use my SLR).

So, I have files like

If I browse a folder for a particular day, it's very easy to sort alphabetically and group all the shots from a particular photographer or camera together.

I'm never going to be able to take more than one shot with one camera at the same time so the filenames will always be unique.

The only potential problem with using the timestamp might be with continuous shooting, but having tried this, my EOS 300D writes to the memory card with 2secs intervals between the files so the EXIF timestamps are 2 secs apart. I'm not sure how quickly other camera models write, but I'd imaging not more than one file per second!


Thanks Darren. Your strategy sounds quite reasonable. The additional length of the filenames might be a little more of an inconvenience (especially in applications where the filenames are truncated for display), but you are reasonably unlikely to suffer filename clashes with your current camera setup. However, if you ever decide to upgrade to a camera that supports faster flash card access (eg. write speed), you might encounter a problem for action sequences. Even with faster flash memory on the Digital Rebel, the internal controller bottleneck is slow enough that you probably won't see more than one photo per second -- unless you drop your resolution down and use high ISO.

Using the name of the camera is a decent alternative to my 2-character code. As I tend to collect both photos that I take on multiple cameras and photos from other people, I want to distinguish not only on camera model, but owner too. That's why I ended up with that scheme. Provided that you are only interested in storing your own photos, your strategy should be perfectly good.

Thanks for sharing your strategy.


Sounds great when reading, but i discovered, it is not a truly feasible solution. Instead i am resorting to the tried & true method of cataloging digital images by:
category_occassion_subject_date_pic #_ext.


It would be helpful to have indicated why it's not feasible. A very large number of people have been using a mechanism like this with great success.

There are many disadvantages to using the keyword-based naming methodology that you indicate -- the biggest one being a lack of scalability and restrictive / inconsistent / tight vocabulary.

If you are having to deal with tens of thousands of photos, a dedicated photo cataloging application is almost a necessity, making the keyword-named file scheme often superfluous. I would be interested to hear your reasoning for your conclusion. Thanks.


I wonder two things in particular:

  • How would using Julian dating work;
  • Is the original file name embedded in the exif-meta-iptc data and can any of that data thats in those files be accessed either to originally rename the images or to rename them after you realize in 2018 that you didn't think things thru well enough back in 05?

Hi Calvin,

I discovered Imatch a couple of days ago and I think it's a fantastic product. Hard to believe such a polished software tool is the product of one man's part-time work! Today I discovered your site and I have to congratulate you as well. Great job. Particularly useful is your section comparing versioning in various software tools.

I agree that built-in "branched" versioning is the one key feature that would make Imatch the killer app. Nevertheless, and until such a time arrives, your file-naming conventions and scripting do fill the gap somewhat.

Which bring me to my question - do you recommend a particular program to handle renaming of an already exciting hierarchy of photos? i.e. I would like to use something that behaves like "Download Pro" but works on already existing files. Ideally, the program would look in EXIF, add the date to the filename, tweak the "orientation" bit, and format the filename according to your "rules". Then, it would disperse files in folders based on their date and based on your folder hierarchy "rules". I know that there are loads of programs out there that do this, and probably there's a script in IMatch that you or somebody has written for this purpose. Since I assume that you had to do this at some point, I wonder if you recommend a particular tool and/or method?

Thanks, Alex



Fortunately, Downloader Pro can work with folders on your hard drive or CDs, just as if it were importing from a memory card. Under the file menu is the option "Open Source Directory..." which will import, rename and rearrange the images in the exact same manner.

The only thing to consider, however, is that this will work best with those files which have a consistent naming scheme (ie. you copied the files to your hard drive already, but didn't do any batch or manual renaming). If you have renamed the files already in an inconsistent manner, then you might have to break the import into a couple steps to ensure that the renaming will be performed in the manner you expect. Fortunately, Downloader Pro shows you a preview of the renaming before it starts.


Thank you for posting this excellent scheme for managing filenames.

I am considering a slightly compressed version:

  1. one digit year - will progress to letters. That will last for 36 years, then think again.
  2. one digit month O=October, N=november D=December
  3. one digit day- use digits followed by letters - need table = a=11, b=12, etc
  4. one digit category
    • B birds
    • F people - family
I would appreciate any comments you have. Best wishes.


Bryan -- your strategy certainly will give a nicely compressed naming scheme! While the dated part of your naming reduces the requirements from perhaps 8 or 6 digits to 3, you lose some of the immediate ease of locating images on a particular date. I would not be surprised if you find yourself wanting to revert back to a more traditional expanded form (perhaps the 6-digit form, eg. 031124) over the more cryptic condensed form (eg. b9x. In addition, you are going to have to decide on a suitable starting point for your one-digit year, which might be hard to do if you have photos dating back a while ago.

More importantly, long filenames are here to stay, so such conservation may not be as necessary (considering the cost to quick visual recall) as it used to be.

As for the category writing into the filenames, I have never been a fan of these, unless one uses a controlled vocabulary. Your proposal is an example of a controlled vocabulary method, so it may offer some benefits. If you pick your top-level categories carefully, you may be able to get by with the single-digit scheme. While it allows you to create several major categories for your images, you certainly are going to be limited with the depth. So long as you limit the number of top-level categories, so that the digit still makes intuitive sense (ie. not y = buildings), it doesn't hurt. The problem I see is that it becomes difficult coming up with such a categorization at the outset, and changing the structure of the categories at a later date can be very difficult.

I guess in summary, I have to ask: you have created filenames that are now only 4 digits in length, which is certainly very efficient, but what will you use for the unique suffix (eg. original shot sequence number?). And are the space savings worth the potential trouble / obscurity? Overall, this is a very interesting and unique approach... it would be interesting to see how well you might be able to make this work.


Leave a comment or suggestion for this page:

(Never Shown - Optional)