4 easy ways to organize your After Effects projects and maintain good organizational practices to streamline and optimize your workflow.

When I first started using After Effects in the year 2013, I overlooked the importance of organizing my project files. Today, the first thing I do before starting a project is to organize the imported source data and rename them accordingly.

As a professional motion graphics designer, you have to maintain good organizational practices to streamline and optimize your workflow. By organizing your After Effects projects properly, you’ll likely save yourself and others countless hours of confusion.

There are a few other things I do as well to organize my After Effects projects so that they are clean, clutter-free, and easy to understand.

1. Create Separate Folders For Your Files Under Project Panel

In After Effects, the files you import are all listed in the Project panel at the top left side. It contains all the video, audio, photographs, layers, and compositions we need while working on a project.

So, organizing it in separate folders can make things clutter-free and clean. Also, It will make things easy to find since they are sorted out according to their file types, or categories.

For instance, I always create two separate folders in the Project panel and name them Video and Audio. I then import my source video and audio files into these folders.

To create a New Folder in the Project panel, simply right-click with your mouse and click on New Folder or choose File > New > New Folder.

An alternate and time-saving method is to use an After Effects script called Folder Setup Script. It allows you to automatically create a hierarchy of folders in the Project Panel.

2. Create Low-Resolution Proxies of your High-Quality Footage

Proxies are low-resolution source videos used to replace the original high-resolution version in your timeline.

You can use a proxy either before you have the final footage or when you have the actual footage item but you want to speed up previewing or rendering while editing.

Any masks, attributes, expressions, effects, and keyframes that you apply to the proxies are retained when you replace them with high-res video files.

In the Project panel, After Effects marks the footage name to indicate whether the actual footage item or its proxy is currently in use:

  • A filled box indicates that a proxy item is currently in use throughout the project. The name of the proxy appears in bold type at the top of the Project panel when the footage item is selected.
  • An empty box indicates that the footage item is in use throughout the project, though a proxy has been assigned.
  • No box indicates that no proxy is assigned to the footage item.

How To Create A Proxy

Use the Create Proxy command to create a proxy from footage or compositions selected in the Project panel or the Timeline panel.

This command adds the selected footage to the Render Queue panel and sets the Post-Render Action option to Set Proxy.

  • Open a footage item or composition in the Project or Timeline panel.
  • Move the current-time indicator in the Footage panel to the frame that you want to use as the proxy still item, or for the poster frame for the movie footage item.
  • Choose one of the following commands:
    • File > Create Proxy > Still to create a still image proxy.
    • File > Create Proxy > Movie to create a moving image proxy.
  • Specify a name and output destination for the proxy.
  • In the Render Queue panel, specify render settings, and click Render.

3. Change Your Workspace To Minimal

You can change your Workspace to minimal to hide unwanted panels and windows from Adobe After Effects. This will give you some extra room to work. You can enable the panels you need by going into Window from the top bar and selecting the windows you want to enable.

After you are done working with that particular panel or Window, hide it again. It is a simple tip yet it can help you a lot in organizing your projects.

4. Use After Effects Scripts For Managing Footage Items

After Effects scripts give additional features and functionality to Adobe After Effects. There are a number of useful AE scripts that can help you organize project files and optimize the workflow.

Project Items Renamer

Christopher Green provides a script (Project_Items_Renamer.jsx) with which you can rename compositions and footage items selected in the Project panel.

You can search and replace text in the names, append characters to the beginning or end of the names, or trim a specified number of characters from the beginning or end of the names.

Copy the source code below and paste it into the After Effects script editor.

In After Effects, go to File > Scripts > Open Script Editor and paste the following source code.

//version 1.9 brings code up-to-date to work as dockable, if desired, and makes window more compact
var vers = '1.9';

function buildUI(this_obj_) {
    var win = (this_obj_ instanceof Panel)
    ? this_obj_
    : new Window('palette', 'Rename Project Items (v' + vers + ')',[300,100,524,362+22]);
    win.nameSearchLabel = win.add('statictext', [14,15,314,37], 'Search in Names:');
    win.nameSearchT = win.add('edittext', [25,40,325-125,62], '');
    win.nameReplaceLabel = win.add('statictext', [14,73,314,95], 'Replace with:');
    win.nameReplaceT = win.add('edittext', [25,98,325-125,120], '');
    win.typePnl = win.add('panel', [16,138,206,243], 'Rename Type:');
    win.repRad = win.typePnl.add('radiobutton', [14,13,174,35], 'Search and Replace');
    win.repRad.value = true;
    win.repRad.onClick = function () {
        doTextChange(win.nameSearchLabel, 'Search in Names:');
        doTextChange(win.nameReplaceLabel, 'Replace with:');
    win.appRad = win.typePnl.add('radiobutton', [14,39,174,61], 'Append');
    win.appRad.onClick = function () {
        doTextChange(win.nameSearchLabel, 'Append Head with:');
        doTextChange(win.nameReplaceLabel, 'Append Tail with:');
    win.remRad = win.typePnl.add('radiobutton', [14,65,174,87], 'Remove # of Characters');
    win.remRad.onClick = function () {
        doTextChange(win.nameSearchLabel, 'Remove from head (number):');
        doTextChange(win.nameReplaceLabel, 'Remove from tail (number):');
    win.okBtn = win.add('button', [140,253,140+66,253+20], 'OK', {name:'OK'});
    win.okBtn.onClick = function () { doRenaming(this.parent); };
    win.cancBtn = win.add('button', [16,253,16+77,253+20], 'Close', {name:'Cancel'});
    win.cancBtn.onClick = function () {this.parent.close(1)};
    win.cancBtn.visible = false;
    return win
var w = buildUI(this);
if (w.toString() == "[object Panel]") {
} else {
    w.cancBtn.visible = true;

function doTextChange(target, newText) {
    target.text = newText;

function splitReplace(st, ss, rs) {
    var stArray = st.split(ss);
    var patchedString = "";
    var i = 0;
    while (i < (stArray.length)) {
        if (i == (stArray.length-1)) {rs = "";}
        patchedString = (patchedString + (stArray[i] + rs) );
        i = (i + 1);
    return patchedString

function doRenaming(theDialog) {
    // make sure comps are selected
    var everyItem = app.project.items;
    selectedObs = new Array();
    for (var i = everyItem.length; i >= 1; i--) {
        eyeTem = everyItem[i];
        if (eyeTem.selected) {
            selectedObs[selectedObs.length] = eyeTem;
    if ( selectedObs.length == 0 ) {
        alert("No Project Items selected.");
    } else {
        var s = selectedObs;
        var selNum = s.length;
        app.beginUndoGroup("the renaming of project items");
        var inputError = false;
        for (var n = (selNum-1); n >= 0; n--) {
            if ( ! inputError ) {
                item = s[n];
                oldName = item.name;
                sear = theDialog.nameSearchT.text;
                repl = theDialog.nameReplaceT.text
                newName = oldName;
                if (theDialog.repRad.value) {
                    newName = splitReplace(newName, sear, repl);
                    if ((parseFloat(app.version) < 9.0)) {newName=(newName.substr(0,31));}
                } else if (theDialog.appRad.value) {
                    newName=(sear + oldName + repl );
                } else if (theDialog.remRad.value) {
                    if (sear == "") {sear = 0;}
                    if (repl == "") {repl = 0;}
                    sear = ( parseFloat(sear) );
                    repl = ( parseFloat(repl) );
                    if ( (isNaN(sear)) || (isNaN(repl)) ) {
                        alert('Error: Not a number?');
                        inputError = true;
                    } else {
                        newName=(newName.substr( sear, oldName.length ));
                        newName=(newName.substr( 0, newName.length-repl ));
                try {
                    item.name = newName;
                } catch (error ) {
                    // just ignore errors; if it can't be named, what the hay

Then go to Debug > Run or simply press F5 on your keyboard to run it.

Batch Search-n-Replace Paths

Lloyd Alvarez provides a script on the After Effects Scripts website with which you can search for an After Effects project and replace the file paths for the sources of footage items.

This is convenient for swapping out source files, updating a project after moving sources, or updating a project after moving it to a different computer system.

Easy Expression

As easy as it sounds, this Script helps you quickly add expressions in After Effects. There are tons of expressions that can be applied to a position, scale, rotation, and other AE properties.

Create bounce, wiggle, elastic, and all kinds of animations with Easy Expression Script.

Also, check out: