Deep Thoughts on File Naming Conventions


When you work collaboratively, it’s important to have a bit of a system to help organize files and keep everyone on the same page. I have tried so many different little systems and techniques, and while I may not have the perfect system, I certainly know some things that I find that work and some things that don’t work. Here are some things I like….

  • Pick a plain english-y (or whatever language you use to speak) couple of descriptive strings whenever possible to form the base file name (eg. main.fla, loader.fla, etc). – A file name like a_4_3.fla only makes sense to the developer who wrote the array crawling code that makes a file name like that valuable. If you as a developer feel that file names like that are necessary to make your development easier, possibly consider a lookup table, associative array or some other form of developer key document that you use to cross-reference against the human friendly names. – Your designer friends will like you better.
  • Use a post base file naming suffix that offers a logical versioning system to people that look for the file. Of course if you are using something like Version Cue or Subversion, etc. this is less important, but for those not using such a system, a convention like “main_v1.psd, main_v2.psd” is preferable to “main_mock.psd, main_revision.psd, main_final.psd”.
  • Don’t mix up the idea of versions of files and version of interface mockups… (i.e . mockup_v1.psd, mockup_v2.psd are iterative version of the same style, not completely different designs.)
  • Create folders for major revision cycles – mockup, revision, beta, final candidate, etc.
  • Using color labeling on Mac OSX is totally acceptable if everyone involved knows what those colors mean, and everyone on the team is actually using Macs.

Here are some things that I don’t like.

  • Dates in file names are pretty much irrelevant and unnecessary… Most of the time you are using the date in the name to remember when you made the file, right? Well, that information is stored in the file already. Get properties on it, see? Additionally, you can store that stuff in the spotlight comments if you want.
  • Spaces, punctuation, strange characters like $#@&*(^$!Ѣ߬?Ģ??묥ƂĆ???Ķ???߂⧂%(, etc.
  • ALLCAPS.PSD
  • Initial_Caps_Case.psd
  • mockup_chad.fla (using the designer or developers name in the file)

What are some of your tips on file naming for teams? Pet Peeves, etc. I’d like to hear form other mixed environments especially… designer/developer cross disciplinary teams, etc.

Posted on


7 comments

  1. John Moats Jun 12

    I have a small tip to add. For example if we were working on a site mock and made only small changes made it would be named: site_mock_v1_r1.psd. Adding the revision to the filename gets people out of the habit of just overwriting current versions because the changes are “small”. At the end of the day/stage just keep the most recent version out and the others in a folder called “revisions”.

  2. Lawrence Jun 13

    I typically use Subversion when I need to maintain multiple versions. But for situations where Subversion or CVS would be overkill, its still best to automate this process as much as possible. When doing this its often easier to move the backups to a separate directory (to avoid clutter) and append a date to the directory name (its redundant yes, but its easy to get that information from the system.)

    With this convention, you can use simple tools that come with your OS like Automator (http://macapper.com/2007/05/28/tutorial-automator-basics/) or on Windows, a simple batch file (http://lifehacker.com/software/version-control/hack-attack-simple-version-control-170164.php) to backup your files.

    Of course, if you need multiple backups from the same day, or if you want them visible and not hidden in backup directories, you might be out of luck there. In that case, I like to use simple scripts to “roll” the files easily enough (rolling means to do something like this: rename foo_v2 to foo_v3 if it exists, rename foo_v1 to foo_v2 if it exists, then copy foo to foo_v1; this way the most recent backup is always the _v1 — that’s just a personal preference of mine.)

    On Windows, I would recommend spending a few bucks to get a commercial product called KeepSafe from Stardock since it automatically backs up files you want with no user action required.

  3. Tsun1234 Jul 24

    I don’t know if time is totally irrelevant on filenames. It’s up to file type, but the original date is recorded only on original machine. Once you download the file, the date is the download date, not the original release. I still think is important maintain the date on file names, according to the project.

  4. Red5dsd Nov 1

    My file naming convention goes like this:
    v1-(CLIENT ACRONYM)_(BriefProjectDescription,i.e.Brochure,HomePage,etc.)

    So, the first version of a tradeshow flyer designed in InDesign for IBM might look like this:

    v1-IBM_TradeFlyer.indd

    If I had three initial versions of that same flyer project I would probably have three files like this:

    v1a-IBM_TradeFlyer.indd
    v1b-IBM_TradeFlyer.indd
    v1c-IBM_TradeFlyer.indd

    I use a “v” at the beginning to indicate a working master file version. I use a “c” for the client comp version, a “m” for the mechanical (say the working file needs to have the type outlined or saved as a flattened tiff for output), and an “f” for the final file going to press.

    So my working file would be:
    v1b-IBM_TradeFlyer.indd

    Comp to client:
    c1b-IBM_TradeFlyer.pdf

    Flattened file to ensure gradients blend nicely:
    m1b-IBM_TradeFlyer.tif

    Final artwork going to press in CMYK with crop marks
    f1b-IBM_TradeFlyer.pdf

    I keep each of these file types within folders:
    v1b-IBM_TradeFlyer.indd goes in the Builders folder

    c1b-IBM_TradeFlyer.pdf goes in the Comps folder

    m1b-IBM_TradeFlyer.tif goes in the Mechanicals folder

    f1b-IBM_TradeFlyer.pdf goes in the FinalArt folder

    I use initial caps on the words because I avoid using spaces in file names. This convention helps me automatically produce files that are web friendly when working on web projects.

    That’s my scoop!

  5. Killian Jun 9

    I prefer using the yymmdd or yyyymmdd along with a descriptive naming system for attaching dates to files.

    I usually keep several daily versions with an a, b, c, or d addendum. Then I can save or delete daily finals, weekly finals, and monthly finals fairly easily. I like having the older versions around so I can go back in case I decide I took the wrong path somewhere.

    The main reason is that for a similarly named file an alphabetic sort will put the files in chronological order.

    People might find the naming structure initially a bit backwards, but once you get over that small hump it really performs well.

  1. Best Practices of Adobe Flash CS 3 « RTFM - Stop being a retard.
  2. Developers are from Mars, Designers are from Venus with Chad Udell | UsableWebb

Leave a reply