To name every file in a Templater batch yourself, add a column called output to your spreadsheet and type the file name you want on each row. In a JSON data source, add a property key called output to each object. That one column or key replaces the default naming for every job in the run. It is the quickest way to turn a folder of anonymous renders into a folder you can actually hand to someone.
The default names are not wrong. They are just not yours. This article explains what Templater does when you leave naming alone, how the output column changes it, how to sort files into sub-folders by name, and the one character you should keep out of your file names.
How Templater names a file when you say nothing
Start with what you get for free. Templater processes a target composition once for each row in your data source. Each pass produces an output, and the output needs a name. If you have not asked for anything special, Templater builds the name from parts. It combines the job prefix, the target composition name and an identifier for the row.
The identifier comes from an id column if you made one. If you did not, Templater falls back on the spreadsheet row’s index to generate unique numbers. In JSON it falls back on the object’s position in the array. The job prefix is a value you enter in the Job Prefix field, found in the Output Options group of the Templater Preferences panel. Our help page on unique IDs covers this in detail, and we go through it in a companion article on unique IDs and project switching.
That default naming works fine for a test. It starts to hurt when someone else has to use the files. A name built from a prefix, a composition name and a row number tells you which pass produced the file. It does not tell you what is inside. If the person receiving the folder wants the video for a particular store, a particular listing, or a particular language, they need that information in the name.
Setting a custom name with the output column
The documented steps are short. Create a new column in your spreadsheet and label it output. Then, for each row, type the file name you want into that column. Templater uses that value as the name of the output for that render job or replicated comp.
There is one rule about priority, and it appears in the documentation twice, once on the output page and once on the unique ID page. For output naming purposes, values in an output column override values specified in an id column. If a row has both, the output value decides the name. You can keep an id column for your own tracking and still control the file names completely. Nothing conflicts. The output value simply wins.
Typing a hundred names by hand is tedious, and it invites typos. Our documentation has a tip for exactly this. Use the concatenate function of your spreadsheet application to build output column values from the values of other columns. In plain terms, you let a formula join cells together. If one column holds a store name and another holds a date, the formula can join them into a single name in the output column. You write the pattern once and fill it down. Every row follows the same shape, so the files sort and search the way you expect.
Here is a scenario of our own, built from the documented behavior. A marketing team has a sheet with one row per branch and columns for the branch name, the region and the offer. Their target composition is the same for every row. They add an output column with a formula that joins the region, the branch name and the offer. Now each rendered file carries those three details. When a regional manager asks for “all the videos for the northeast,” someone can find them by looking at file names alone. Nobody opens a single video to check. That is the practical value of a good naming pattern. It moves the question “which file is which” out of the video and into the name.
The same approach works for JSON. In a JSON data source, you create a property key named output in each of the objects found within the JSON array. The value you set for that key becomes the output file name. The same priority applies. An output property key overrides an id property key. Property keys in JSON objects are equivalent to column names in a spreadsheet, so you can think of it as the same column written another way. If your data comes from a URL feed, your service can compute the names and send them in each object, which keeps the naming rules in your own code. We explain feeds in a separate article on using a URL feed as a data source.
Sorting outputs into sub-folders
You can also decide where files land. Our documentation describes an optional step. If you want to sort your outputs into sub-folders within the Output destination, put a relative file path at the start of the output value.
The documentation gives a worked example. Suppose your Destination path is C:\path\to\renders. If the output value in your data is subfolder/filename, then filename.<ext> is created in C:\path\to\renders\subfolder. The text before the slash names the folder. The text after it names the file. The documentation writes the extension as a placeholder, because the file type depends on what you render.
The JSON instructions give the same example, word for word, with the same path. That is useful to know. Whether your names come from a column or a property key, the folder rule is identical.
This turns your data into a filing plan. Join a region and a file name with a slash in your concatenate formula, and every video lands in a folder for its region. Join a language code and a file name, and you get one folder per language. You do not move anything by hand after the run, because the structure was in the data from the start. The documentation does not describe how deep the folder levels can go or what happens when a folder name is missing, so keep your first paths simple and check one result before you run the rest.
What to watch: periods, target compositions and where files go
The single warning attached to custom names is brief. Both the spreadsheet page and the JSON page carry the same tip: avoid using a period character in custom output names, to avoid After Effects output errors. The documentation does not explain the mechanism, so we will not guess at it. The practical rule is plain. A version number such as 2.1 in a name is a bad idea. Write it as 2-1 or v21. A product name with a dot in it is the same story. Replace the dot before it reaches the output column, and the formula can do that for you.
Spreadsheet header names have their own limits. For Google Sheets documents, our documentation says Templater does not currently support column headers that begin with a numeral, contain spaces, or contain the _ character. The header output is safe on all three counts. The warning applies to headers, not to the values you type below them. For more on Google Sheets, see our complete reference for using Templater with Google Sheets.
Next, the target composition. The name Templater builds by default includes the target composition name, and the target composition is also the composition Templater processes for output. Without one, Templater shows an error. The documentation lists three ways to specify it.
The first is from the data source. If you need to switch between target compositions while versioning your project, use a target column or property in your data source. This method overrides all the others. The documentation adds that you must also set one of the other two methods as a backup, and it recommends “from project” for that. The second is from Preferences. If you always version a single composition, select the target in the Templater Preferences dialog. It is also a back-up if you forget to set the target elsewhere. But do not use it if you switch between project files that may or may not contain that name, because a missing target produces an error. The third is from project. You specify one target within the After Effects project panel, and the choice is saved to the project file. Wrap the comp name in double braces or double brackets and it overrides a target set in Preferences. If more than one comp in the project uses that notation, you get unexpected behavior.
Why does this belong in an article about file names? Because a custom output value decides the file name, but the target composition decides what gets rendered under that name. If your data picks a different target composition per row, make sure your output names say so. Two rows using different compositions and the same output value would aim at the same file name, and the documentation does not tell us what Templater does in that case. Treat output names as unique, the same way you treat ids.
The last piece is where the files go. Our output page says Templater writes files to the location set in the Output Folder field in the main panel. The outputs are either auto-generated compositions or rendered media files. Auto-generated compositions are placed in sub-folders inside a parent folder named [TEMPLATER COMPS], which appears in your project panel when you generate comps. You can also send those compositions to Adobe Media Encoder for more detailed rendering work. The custom names from your output column apply to the render job or the replicated comp, and the Output Folder plus your relative path decide the final location of rendered files.
If you are weighing replicating against rendering, the broader picture is in batch rendering software: what it is and how Templater handles it, and in our primer on what batch rendering is in After Effects. If the files are headed into a content system, getting automated video output into a CMS or DAM shows why good names matter downstream. To see the plugin that does all of this, visit the Templater page.
A short checklist ties the pieces together. Decide what a person needs to know from a file name alone, and write that pattern as a formula. Test the formula on a few rows and read the results out loud, because a name that reads badly will be mistaken for something else later. Take every period out of the values. Add a relative path if you want folders. Confirm your target composition exists in every project the data will touch, or you will see an error instead of output. Then run the batch and open the destination folder. If the folder looks the way you planned, the data did its job.
The documentation we drew on does not cover everything. It does not say how long a name can be, which other characters cause trouble, or what happens when two rows produce the same name. We have not filled those gaps with guesses. The safe habit is to keep names short, plain and unique, and to ask us when a project depends on an edge case.
The bottom line is this. If you will ever hand the files to another person, add an output column or key. Build the values with a formula so every name follows one pattern. Put a relative path in front when you want folders. Keep periods out of the names. And remember that the output value beats the id every time, so choose the one you want to control and be consistent.
Planning a naming scheme? These are the questions that come up first.
Frequently Asked Questions
How do I set a custom output file name for each row?
Create a new column in your spreadsheet and label it output, then enter the file name you want for each row. Templater uses that value as the name of the output for that render job or replicated comp. In a JSON data source, add a property key named output to each object and set its value to the file name.
Does the output column override the id column?
Yes. For output naming purposes, values in an output column override values specified in an id column. The same is true in JSON, where an output property key overrides an id property key. You can keep ids for your own records. The output value decides the file name whenever a row has both.
How do I save renders into sub-folders by name?
Put a relative file path at the start of the output value. If your Destination path is C:\path\to\renders and the output value is subfolder/filename, then filename is created in C:\path\to\renders\subfolder. The text before the slash is the folder and the text after it is the file name. The same rule works in JSON.
Can I build file names from other columns automatically?
Yes. Our documentation suggests using the concatenate function of your spreadsheet application to create output column values from the values of other columns combined together. You write the formula once and fill it down. In JSON, your own service or script can compute the output value before it sends each object to Templater.
Why should I avoid periods in output names?
The documentation tip says to avoid using a period character in custom output names to avoid After Effects output errors. It does not explain more than that. Replace periods with hyphens or remove them. For example, write a version as 2-1 instead of 2.1, and let your concatenate formula strip any period before it reaches the output column.
What name does Templater use if I add no output or id column?
It names each output by appending an identifier to the job prefix and the target composition name. With no id, Templater generates unique identifier numbers from the spreadsheet row index, or from the object’s position in a JSON array. You set the job prefix in the Job Prefix field in the Output Options group of the Templater Preferences panel.
Where do rendered files and generated comps end up?
Templater writes files to the location in the Output Folder field of its main panel. Auto-generated compositions are placed in sub-folders inside a parent folder named [TEMPLATER COMPS], which appears in the project panel when you generate comps. You can also send auto-generated compositions to Adobe Media Encoder for more detailed rendering work.
