Progress Bars


Want to progress in your After Effects skills? Now you can visualise that progression as we learn how to create progress bars in Adobe After Effects.

In a new composition we create a solid layer that we then pre-compose into a separate After Effects composition so we can stylise it.

If you’re following along with adding in the fractal noise we add in a basic expression onto both the Evolution property of the Fractal Noise and the Offset Turbulence.

Code Snippet
Code Snippet
Offset Turbulence

Back in the main composition, we want to draw out the actual progress bar. With no layers selected we select the Rectangle Tool and drag out a rectangle to make up the dimensions of our progress bar.

Going to the Contents of the Rectangle tool down in the timeline, we use the eye icon to toggle off the Fill property of the layer, so it is only the Stroke of the rectangle that becomes visible. You can change the colour at the top of the program. Hitting Enter lets you rename it to whatever you would like.

To create the layer that will mask out the pre-composition of the stylised background for the progress bar, we create a new solid. Position it as the layer directly above the pre-composed layer, and then toggle the TrackMat property of the pre-comp layer to Alpha Matte.

Selecting the pre-comp we can use the same rectangle tool to drag out a mask for the pre-comp layer that will set the bounds of the actual progress bar. Drag it within the stroked rectangle to something that looks good.

One common thing I do is parent a group of related layers to a Null object, so that if i need to scale them or position them all together I can use the transform properties of the null. So create a new Null object and then select the other three layers and set the parent property to the new null. Hitting enter while selecting the null will let us rename the null to “Progress bar Controller”.

To show the actual percentage of the progress bar we will need to create a new text layer. Use the text tool and type 0% and position it in the middle of our progress bar. Also parent the text layer to the Null.


To rig everything up, we will add a slider control to the null object and name it “Progress”.

Our first expression goes on the Source Text property of the text layer.

Code Snippet
Source Text

A classic Math expression that takes a decimal number value and rounds it to the nearest whole number, either up or down. e.g. 1.45 would round down to 1, and 2.6 would round to 3. A value of exactly .5 will round up to the next whole number.

(thisComp.layer("Progress bar Controller").effect("Progress")("slider"))+"%";

Our next expression will be on the position of the solid we are using as a mask for the pre-comp. Hitting (P) will bring up the position property of the layer, and right+click will let us “Separate Dimensions” so that we get two different properties, one for each dimension we are working in. Our next expression goes on the X Position.

Code Snippet
X Position

The Linear Expression interpolates values by calculating where “x” falls between “xMin” and “xMax” and then giving a result that is the value equivalently positioned between “yMin” and “yMax“.

(thisComp.layer("Progress bar Controller").effect("Progress")("slider"),0,100,-1722,-198);

To make the text colour change as the progress bar moves behind it we need to duplicate our text layer and change one colour to black. We need to use that same solid we just rigged up with the position expression to help with transitioning the text. Place it between the black text (above) and the white text (below). Set the TrackMat of the white text to Alpha Inverted Matte.

Duplicating the solid one more time and put it above the black text layer. Set the TrackMat of the black text to Alpha Matte.

Keyframing the Progress slider control lets us animate the progress bar. Now you have created a progress bar in After Effects.


Why use a progress bar mask?

The mask provides the shape we want our progress bar to be contained within. This way our progress bar pre-composition can focus on the look, and the mask constrains what we see to the actual progress bar “shape”, and the actual expression we’re adding is kept simple.

Another way we could do it is through applying a mask or distorting the pre-composition to the dimensions of our progress bar shape, but then this has the potential to distort the look we create through the pre-composition.

Ultimately using a mask is a way simpler option for both managing the look, and writing the expression.

Grab some Merch

Express your inner creative outwardly whilst supporting all that we do...

View Merch store

Need some help

Run into an issue with one of the tutorials or is something not covered in the FAQ?

Contact and Support