About filename conventions

Seems like an subject with endless possibilities, endless talk and actually pretty straight forward solution, only thing is that, there is not one solution and therefore becomes an argument rather than a tool. Of course our little egos do thrive on these thing, like talking football, anyone can talk yet very few have to prove they really understand what it is behind so what I am going to do instead of selling my personal approach is just outline an strategy and from then on, you do your own, which seems much more fair too as I do not know your needs.

Please make sure you read first My vocabulary so you can get a good reference on how and why I call these things as I do.


The reason of why we need a naming convention is pretty obvious, as teams working together become bigger than four, we start to realize we need to unify these so we don’t need to ask constantly where and how things are. Also on top of it later down the line we will realize the benefits of assuming certain name structure or template.


Well, my personal approach on everything is to divide things into their tiniest little components and understand the base so we can build on top, in this case of course this raises the question “What is inside the naming convention” and “Which information do I have to carry on the name” so it becomes really useful tool to communicate. After all that is the whole point.


Well, everybody, that is the real strength, no matter what is the convention, the strength is directly proportional to the people using it so as long as everybody uses it, it will be a good naming convention. Remember this is not like a religion where you have to believe blindly, this you can reason and argument with facts.

The idea

As you do with a cooking recipe where you mix little by little multiple ingredients to construct a sauce for example, the same thing can be said of a naming convention, and then my next step is to define these ingredients;

  • Show name
  • Sequence name
  • Shot name
  • Element name
  • Subelement name
  • Element version
  • Subelement version
  • Description
  • Artist name
  • Time stamp

Of course you can add yours, you can remove mine but nevertheless I am going to assume you have these to start. So imagine we want to use the Show Name, the Sequence Name, the Shot name the Element name and version, Description and you could build something like;


or if we feel the show really is implicit on the folder structure and is no need for too long names, then;


or if we consider that the artist is already registered on the filesystem, then we could clean the clutter further like;


or if we decide that show and sequence should be driven via folders instead of sequences then;


But not, we don’t want this last one as you will be having multiple shots 1 in your project, therefore there is the need to have certain things in your name, and clearly the sequence is vital so;


Seems like very good one but, what if we need to deal with sub-elements? Well, you get the gist so I will let you do it. Nevertheless we can now safely put a few convenient rules so we all play it even better

  • We should shorten the final structure as much as possible, remember many software tools don’t like 250 characters.
  • Also, we want to take advantage of the dumb linux/windows/osx filesystems so will set it up in such a way that ordering becomes system and human friendly, which means we want to use leading zeroes.
  • We should also try to eliminate confusion between different numbers like shot number versus the version number by adding may be a single character in front to clarify.
  • And of course we programmers will love a riggid enough structure so we can clearly parse the whole thing by separating every ingredient with a symbols that won’t be used anywhere else.

With this said, here is a possible solution and the one we use at The Mill.


Arguably this complies with these rules I mentioned before and from our last years of experience using it we have found we could do better by adding may be other things but due to the type of work we do, really that is so rare that will make the name even longer for no real reason so this is it for now. But what about the textures, animation, presets, etc..? well, isn’t it the same? you may want to avoid certain ingredients for these but truly it boils down to just this so i will let you try to figure out them by yourself.


4 Responses to “About filename conventions”
  1. 01.23.2009

    I can elaborate a little of how we do it at Swiss (while it’s still under debate if it’s good or now… though it works)

    [application] [ seq ] [ shot ] [ what ] [ version ] [ revision ] [ initials ]



    The shot is actually shot01, but we name it 010 because sometimes the director adds a shot between shot1 and shot2. So instead of calling it “shot01a” or “shot02a” “shot02b” we call that added shot “015”.

    Revisions is mainly so that you can quickly see at which version you had a comment from the clients. So the version numbers are changing normaly, you just edit the revision letter.


    Anyhow, I hope you liked the input :)

    your humble servant

  2. 01.24.2009

    My first statement should be, it is good if you all use it and agree it you are happy with it, whatever it is the structure/template. Nevertheless given that I personally have gone through this process a few too many times I may ask you a few things.

    1) Why do you need the application letter given that you have the extension?
    2) Wouldn’t be more clear to have a short sequence and shot prefix to fully clarify things, also this will let you find easily all shots in a sequence, etc…
    3) the reason of using the initials is something I would agree in Maya given their file browser is a piece of crap, but in XSI you can see the owner of the file, sort by him, etc.. so is there a real need?
    4) By defining your WHAT as “animEniro” you really are not saying what has been done inside the file, which ultimately will force later down the line to go opening the files and try to reverse engineer what has been done. Don’t you think could be more useful to put something (using a variation of your template) like;


    This way you will also get the right sort while in the shell (version before what) and then a much better idea of what has been done inside.

    Anyway, I like very much you are uding a version/revision pair, we keep track of this via a database along with comments and what not but is nice to see it in the name… I may copy it.

    Thanks for sharing.

  3. 01.25.2009

    1.) because XSI adds a ‘_’ when you wave it with numbers in the file name. They removed it from 7.0, but when you catch the name and send it to the farm, it adds ‘_’.

    2.) That is a good suggestion, I will pass it on! Though I thinnk the shot name should be ‘sh010’, that way you can add a shot (betweein shot 1 and shot 2) which then would be called ‘sh015’.

    3.) Force of habit, most of the people at the office are Maya people, and lot’s of that behaviour has descendent down in the XSI pipeline. So we try and keep the same rules for all applications.

    4.) we don’t define changes done within the file, as we sometimes ends up with filenames as long sentences from people. So in my example, anim (basicly means it’s an animation file) and ENIRO would be the character.

    Will all of that said, let’s compare the two after I added a leading zero in the shot name.


    I could also modify it as follows.

    But ‘your’ version is clearer to the eye, I will suggest that we actually use your suggestion, even though they are the same lenght .

    thanks for the input!


  4. 01.25.2009

    I agree sometimes we have some pretty long names, we have decided to live with it because it is easier to follow someone’s work that way but it is a personal choice of course.

    cheers stefan

Leave a Reply