By Gene and Marion Wilburn
The heart of our filing system for digitally-stored images is a consistent, logical convention for naming files. We developed the following conventions after scanning a few thousand images from our negative and slide collection and, at the same time, adding thousands of digital images from our digital cameras. The cornerstone of the system is chronological datestamp. Here are some typical filenames:
Our filenames break down into five to six parts:
- Datestamp: yyyymmdd-
- Every image begins with year, month, day followed by a hyphen. With digital cameras, assigning dates is easy -- the datestamp is usually embedded in the EXIF information in the file itself. For older family photographs in albums, drawers and shoeboxes, datestamps often have to be approximated. This is also true of slides and negatives unless the photographer who took the images was diligent about dating them. When there are parts unknown, we use 0's (zeros) to fill in the missing bits, e.g., 19320700 or even 1930000 when the best we have is an approximate decade. We fill in the missing digits so that it is easier to scan lists of files, and keep them sorted in a consistent order on the computer.
- Film identifier (optional): 75b5 or b3
- If we have a film identifier from an early roll of film, we include it in the filename for cross-referencing purposes. For instance, years ago our films were labelled with an identifier such as 75b5 indicating B&W film 5 from 1975. Nowadays, for film, we create a standard datestamp for the year and month, add a film identifier such as b3, c1, or cs4, indicating B&W roll 3 (in that month), col film 1, or col slide roll 4 respectively.
- Sequence and photographer: 01-99[a-z] or 001-999[a-z]
- Following each datestamp is a sequence number of two or three digits. We use a two-digit sequence number corresponding to the frame number when creating filenames from film. When shooting digital we find we sometimes shoot more than 100 images in a day, so we prefer three digits for digital sequence numbers. Our renaming program for digital images follows the order of the sequence number created by the digital camera so that all sequences are chronological. There's one simple, but absolute, rule in our filing system: there should be no sequence conflicts within a timestamp. Timestamp plus sequence (including photographer ID) forms a unique key indicating a specific image.
We use a single lower-case alpha letter following the number sequence to indicate which photographer in the family took the image. In our case all "g" images are "gene", all "m" images are "marion", and all "t" images are "trevor". The exception to this is film because Gene is the only photographer in the family shooting it, so there's no need for the extra identifier.
- Imagekey delimiter: --
- In one sense, the image has been fully named once we've assigned the datestamp, sequence, and photographer ID. But filenames consisting only of a series of numbers and letters, while computer friendly, are not human friendly. To add notations that help us identify subjects and locations, we use a double hyphen to separate description from imagekey. We use this delimiter because Gene wrote a Perl script called shortname.pl that strips off the descriptions in the filenames when we're building a web-based photo gallery where a too-long filename messes up the display. It's the delimiter that tells the stripping program where to trim the filename.
- Description: e.g., footbridge-harbour-port-credit
- We enter our descriptions between the Imagekey Delimiter and the File Extension, as in this example of the footbridge across the Credit River in Port Credit, Ontario. We use lower-case characters only and avoid spaces in filenames. We enter description in a way that makes sense to us, within the filename limitations and constraints. The descriptors form a very effective way to search for our images using Windows Explorer, grep, or whatever a particular operating system offers for filename searching. We prefer this KISS approach to complex image management programs.
- Extension: e.g., .tif .jpg .png .psd .crw .cr2
- The filename extension is a standard abbreviation used to identify types of files such as .tif for TIFF files, .jpg for JPEG files, or .crw for Canon RAW. Some of our images are stored in more than one image format.
- File Name Limit: 64 Characters
- Theoretically a filename can be 128 characters or larger, depending on the operating system. In practice, there are many software programs that break on long filenames. The most important limitation on filename length is the one imposed by CD-R software: a filename in total (including extension) should be no longer than 64 characters. Because we archive to CD-R and DVD-R, this is a critical restraint.
- BreezeBrowser Custom Filenames: %Y%m%D-%ng--descr
- Some years ago we began using the excellent BreezeBrowser software to batch convert RAW images to TIFF or JPEG format. BreezeBrowser also has a terrific batch renaming utility and a great website builder. We use a custom string in the renaming utility to automatically create filenames for our system, setting it up as follows: in the BreezeBrowser dialog box under "Batch Rename", we set "Style" to "Custom" and enter %Y%m%D-%ng--descr in the text box, and click "Sort by Image Time and Date". For each batch job set "First Number" to 1 and set the number of digits to 2 or 3 depending on your needs. This yields filenames like
We then quickly examine each image in a file viewer (we like Irfanview) and hit the F2 rename key to fill in descr with an appropriate descriptors.
Gene Wilburn <firstname.lastname@example.org>
Last updated: 7-Jul-2006