-
After Effects
CompsFromSpreadsheet 5
Create versions of your After Effects comps using a spreadsheet
Automated Versioning of Your Comps
CompsFromSpreadsheet allows you to quickly generate copies of your After Effects compositions, updating the new comps with data from a spreadsheet used to insert text and replace layers.
The script has been used by NBC, HBO, Disney and thousands of others.
CompsFromSpreadsheet is now partnering with PlainlyVideos to bring your After Effects rendering to the cloud at scale.
New in Version 5.1
- Interface changed to accommodate spreadsheets with many columns.
- Double quotes apparently get mangled by excel when you convert to tab delimeted text. Now if you put
in your spreadsheet, the script will convert it to “
- If you want to update your template comps without duplicating them, there is a checkbox in settings->processing “Don’t Duplicate Template and Pre Comps”. When checked the script will not duplicate comps or precomps instead working on the original template comp and precomps
-You can now import an image sequence by appending a * instead of > in the layer name. Previously if you tried to import an image sequence, only the first frame would come in.
- You can now import an image sequence by appending a * instead of > in the layer name. Previously if you tried to import an image sequence, only the first frame would come in.
- Fixed "undo group mismatch" bug.
- Fixed issues with saving render to an image sequence and other issues with render settings.
Read about the new features in detail: CompsFromSpreadsheet 5.1 New Features PDF
New in Version 5
- Layers replaced with compositions can receive data from the spreadsheet
- Ability to define import directory
- Composition length can be adjusted based on layers length
- Output Module and Render Settings can be set from the spreadsheet
- Various bug fixes and minor features
Read about the new features in detail: CompsFromSpreadsheet 5 New Features PDF
Creating Template Comps
In order to use CompsFromSpreadsheet you need to create a template composition to receive data from your spreadsheet.
- Text layers that begin with ^(shift 6) will be able to receive data from the spreadsheet as the source text for that layer. If you need a new line or comma in a text layer DO NOT put these characters in your spreadsheet. Instead use <br> for a newline and <c> for a comma and CompsFromSpreadsheet will replace these symbols with their intended values at runtime.
- If you have a text layer named ^date it will receive today’s date (great if you’re generating slates) default format is MM/DD/YYYY numerically. You can switch to a different date format by clicking on the settings window and going to the Misc tab.
- If you have a non-text layer in your comp that begins with #, it will be replaced by the project item named in your spreadsheet.
- If you have a non-text layer in your comp that begins with a >, it will be replaced by a file. CompsFromSpreadsheet will import a file based on the path in your spreadsheet, then that imported file will replace the layer. If you have the same file referenced more than once in your spreadsheet, CompsFromSpreadsheet will only import it once and use that item for every other time the file is referenced. Instead of putting the path in your spreadsheet, you can define a default import directory.
- If you have a precomp layer in your comp that begins with !, any layer in the precomp setup for compsFromSpreadsheet will be updated from the spreadsheet.
- You can designate a layer to control the length of the composition by putting a ~ at the end of the name. So if you have a layer that is named audio which will receive imported audio files you can add a ~ to the end making the layer name >audio~ this will cause this layer to dictate the length of the comp. So when CompsFromSpreadsheet replaces that layer with the imported audio file, it will adjust the compositions length so that the comp ends on the last frame of the imported audio file.
If you are running CompsFromSpreadsheet as a dockable panel, there will be buttons to automatically create either a text, layer replace, or import object in the currently selected comp. When you create the layers this way a window will pop up asking for the name of the layer, do not put in the ^ > or # in this window as After Effects will do this for you.
So if you click on the button to create text object and type "title" in the window, After Effects will create a text layer named "^title" in the currently selected comp.
Setting up your spreadsheet
The spreadsheet is the way that you create copies of your template comp and update text and layers.
The first line of your spreadsheet must contain the names for each column. If you have more than one composition in your project, you will need a column named COMP that will hold the name of the comp to copy for that line.
When you run CompsFromSpreadsheet it will take each of these column names and allow you to connect that column with target layers in your template comp(s). If you name the columns the same name as the layers they are going to update, these items will automatically be selected.
Synching Column Data to your Comp
When CompsFromSpreadsheet reads the first line of your spreadsheet, it needs you to tell it where the data from each column should go in your comp. The Field Init window opens. Each column name from the first line of the spreadsheet appears with a dropdown box underneath.The dropdown box links the data from that column in the spreadsheet to elements in your template comps. The drop-down box contains the names of all the layers that were set up earlier to receive data (remember, the text layers that started with ^ will receive the data from this column, layers with a # will be replaced with the project item named in this column, and layers with $> will be replaced by files imported from the location specified in the column.) If a column name is the same as an element name in one of your comps, that will be automatically selected in the drop-down i.e. If you have a column in your spreadsheet phone and a text layer in one of your template comps named ^phone, that item will be automatically selected in the dropdown box. If however, your text layer is ^phone number it will not be selected in the dropdown box. If you have more than one comp to be used you will need to have a column named COMPin your spreadsheet with the name of the comp to be used for that line. This is not necessary if you only have one composition in your project
Converting Your Spreadsheet
Before After Effects can read your spreadsheet, it needs to be converted into a tab delimited text file (most spreadsheet programs do this easily). This is a universal text format that will allow After Effects to read in your data and organize it by rows and columns. When you run CompsFromSpreadsheet be sure to point it to this newly created text file and not your spreadsheet as After Effects can-not read any spreadsheet format (maybe I should call it compsFromTabDelimitedTextFile).Render Settings
By default, every comp created by CompsFromSpreadsheet will be placed in the render queue using the default settings for your render queue. It will default to saving the renders in the same directory as your project. If you don’t want your new comps put in the render queue you can turn this off in the settings.If you click the “Render Settings” button (on the “field init” window) you can select which render setting and output module to use for CompsFromSpreadsheet and where to put the rendered files. If you check the “Remember Settings” box these settings will be used every time you run compsFromSpreadsheet; if not checked, these settings will be used in the current run. You can also set the output module and render setting for each item via the spreadsheet
Running CompsFromSpreadsheet
When you click the run compsFromSpreadsheetbutton a window will pop up asking you to select your grid file. This is the tab-delimited text file that you created from your spreadsheet. Do not select your actual spreadsheet as CompsFromSpreadsheet will not be able to understand it. Once you select the tab-delimited text file, CompsFromSpreadsheet will read the first line of it which needs to contain the names of all the columns. The field init window will pop up to allow you to sync the data in the text file to target layers in your comp.Installing CompsFromSpreadsheet
Restart After Effects.
Click on the After Effects “Window” menu.
Way down at the bottom of the “Window” menu click on “compsFromSpreadsheet”, the compsFromSpreadsheet interface will load onto a new panel.
A window will pop up allowing you to enter a license, or run a fully functional demo.
In After Effects General Preferences, make sure that "Allow Scripts to Write Files and Access Network" is enabled.
Upgrade notice
If you own version 4 you can upgrade for $34.99. There is no upgrade discount from prior versions. To get the upgrade pricing simply login to the same account as your original purchase. Contact us if you have any questions.
Discussions
Want to talk about it?
Head over to r/aescripts to chat with fellow users about this product.
Need Support?
Please open a support ticket to be connected directly with the author of this product
Version History
5.23 -
Jul 30, 2025
5.22 -
Jan 29, 2025
-Added link to our partner PlainlyVideos
-Updated aescripts license code
5.21 -
Oct 30, 2023
5.2 -
Oct 10, 2022
5.19 -
Apr 19, 2022
5.18 -
Sep 29, 2020
5.17 -
Sep 2, 2019
5.16 -
Jul 12, 2019
5.15 -
Nov 26, 2018
5.14 -
Feb 8, 2017
5.12 -
May 23, 2016
-Fixed the new version checker
5.0 -
Apr 27, 2016
-Ability to define import directory.
-Composition length can be adjusted based on layers length.
-Output Module and Render Settings can be set from the spreadsheet.
5.11 -
Apr 21, 2016
-Double quotes apparently get mangled by excel when you convert to tab delimeted text. Now if you put
-If you want to update your template comps without duplicating them, there is a checkbox in settings->processing “Don’t Duplicate Template and Pre Comps”. When checked the script will not duplicate comps or precomps instead working on the original template comp and precomps
-You can now import an image sequence by appending a * instead of > in the layer name. Previously if you tried to import an image sequence, only the first frame would come in.
-Fixed "undo group mismatch" bug.
-Fixed issues with saving render to an image sequence and other issues with render settings.
Compatibility
After Effects
2026, 2025, 2024, 2023, 2022, 2021, 2020, CC 2019, CC 2018, CC 2017, CC 2015.3
EULA
This software ("the Software Product") and accompanying documentation is licensed and not sold. This Software Product is protected by copyright laws and treaties, as well as laws and treaties related to other forms of intellectual property. The author owns intellectual property rights in the Software Product. The Licensee's ("you" or "your") license to download, use, copy, or change the Software Product is subject to these rights and to all the terms and conditions of this End User License Agreement ("Agreement").
Acceptance
YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS AGREEMENT BY SELECTING THE "ACCEPT" OPTION AND DOWNLOADING THE SOFTWARE PRODUCT OR BY INSTALLING, USING, OR COPYING THE SOFTWARE PRODUCT. YOU MUST AGREE TO ALL OF THE TERMS OF THIS AGREEMENT BEFORE YOU WILL BE ALLOWED TO DOWNLOAD THE SOFTWARE PRODUCT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, YOU MUST SELECT "DECLINE" AND YOU MUST NOT INSTALL, USE, OR COPY THE SOFTWARE PRODUCT.
License Grant
This Agreement entitles you to install and use one copy of the Software Product. In addition, you may make one archival copy of the Software Product. The archival copy must be on a storage medium other than a hard drive, and may only be used for the reinstallation of the Software Product. This Agreement does not permit the installation or use of multiple copies of the Software Product, or the installation of the Software Product on more than one computer at any given time, on a system that allows shared used of applications, on a multi-user network, or on any configuration or system of computers that allows multiple users. Multiple copy use or installation is only allowed if you obtain an appropriate licensing agreement for each user and each copy of the Software Product.
Restrictions on Transfer
Without first obtaining the express written consent of the author, you may not assign your rights and obligations under this Agreement, or redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer your rights to the Software Product.
Restrictions on Use
You may not use, copy, or install the Software Product on any system with more than one computer, or permit the use, copying, or installation of the Software Product by more than one user or on more than one computer. If you hold multiple, validly licensed copies, you may not use, copy, or install the Software Product on any system with more than the number of computers permitted by license, or permit the use, copying, or installation by more users, or on more computers than the number permitted by license.
You may not decompile, "reverse-engineer", disassemble, or otherwise attempt to derive the source code for the Software Product.
Restrictions on Alteration
You may not modify the Software Product or create any derivative work of the Software Product or its accompanying documentation. Derivative works include but are not limited to translations. You may not alter any files or libraries in any portion of the Software Product.
Restrictions on Copying
You may not copy any part of the Software Product except to the extent that licensed use inherently demands the creation of a temporary copy stored in computer memory and not permanently affixed on storage medium. You may make one archival copy which must be stored on a medium other than a computer hard drive.
Disclaimer of Warranties and Limitation of Liability
UNLESS OTHERWISE EXPLICITLY AGREED TO IN WRITING BY THE AUTHOR, THE AUTHOR MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, IN FACT OR IN LAW, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OTHER THAN AS SET FORTH IN THIS AGREEMENT OR IN THE LIMITED WARRANTY DOCUMENTS PROVIDED WITH THE SOFTWARE PRODUCT.
The author makes no warranty that the Software Product will meet your requirements or operate under your specific conditions of use. The author makes no warranty that operation of the Software Product will be secure, error free, or free from interruption. YOU MUST DETERMINE WHETHER THE SOFTWARE PRODUCT SUFFICIENTLY MEETS YOUR REQUIREMENTS FOR SECURITY AND UNINTERRUPTABILITY. YOU BEAR SOLE RESPONSIBILITY AND ALL LIABILITY FOR ANY LOSS INCURRED DUE TO FAILURE OF THE SOFTWARE PRODUCT TO MEET YOUR REQUIREMENTS. THE AUTHOR WILL NOT, UNDER ANY CIRCUMSTANCES, BE RESPONSIBLE OR LIABLE FOR THE LOSS OF DATA ON ANY COMPUTER OR INFORMATION STORAGE DEVICE.
UNDER NO CIRCUMSTANCES SHALL THE AUTHOR, ITS DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS BE LIABLE TO YOU OR ANY OTHER PARTY FOR INDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, PUNITIVE, OR EXEMPLARY DAMAGES OF ANY KIND INCLUDING LOST REVENUES OR PROFITS OR LOSS OF BUSINESS) RESULTING FROM THIS AGREEMENT, OR FROM THE FURNISHING, PERFORMANCE, INSTALLATION, OR USE OF THE SOFTWARE PRODUCT, WHETHER DUE TO A BREACH OF CONTRACT, BREACH OF WARRANTY, OR THE NEGLIGENCE OF THE AUTHOR OR ANY OTHER PARTY, EVEN IF THE AUTHOR IS ADVISED BEFOREHAND OF THE POSSIBILITY OF SUCH DAMAGES. TO THE EXTENT THAT THE APPLICABLE JURISDICTION LIMITS THE AUTHOR'S ABILITY TO DISCLAIM ANY IMPLIED WARRANTIES, THIS DISCLAIMER SHALL BE EFFECTIVE TO THE MAXIMUM EXTENT PERMITTED.
Limitation of Remedies and Damages
Any claim must be made within the applicable warranty period. All warranties cover only defects arising under normal use and do not include malfunctions or failure resulting from misuse, abuse, neglect, alteration, problems with electrical power, acts of nature, unusual temperatures or humidity, improper installation, or damage determined by the author to have been caused by you. All limited warranties on the Software Product are granted only to you and are non-transferable. You agree to indemnify and hold the author harmless from all claims, judgments, liabilities, expenses, or costs arising from your breach of this Agreement and/or acts or omissions.
Governing Law, Jurisdiction and Costs
This Agreement is governed by the laws of New York, without regard to New York's conflict or choice of law provisions.
Severability
If any provision of this Agreement shall be held to be invalid or unenforceable, the remainder of this Agreement shall remain in full force and effect. To the extent any express or implied restrictions are not permitted by applicable laws, these express or implied restrictions shall remain in force and effect to the maximum extent permitted by such applicable laws.