Expressions in Adobe After Effects are small JavaScript snippets that control layer properties automatically, frame by frame, without a single manual keyframe. When you use expressions to automate motion graphics, you replace hours of tedious animation work with a few lines of code. A single wiggle() call does what dozens of manual keyframes used to do. Automated motion workflows save real time on repetitive tasks like layer renaming, motion, and captioning. That time adds up fast across a full client roster.
What are the essential expressions every motion designer should know?
The five essential expressions every motion designer needs are Wiggle, LoopOut, Time, Linear, and Math.round. These form the backbone of most motion graphics automation workflows and reduce manual frame-by-frame animation to almost nothing.
Wiggle adds organic, random movement to any property. You write wiggle(frequency, amplitude) and the layer shakes itself alive. LoopOut makes any animation cycle indefinitely. Write loopOut("cycle") on a position animation and it loops forever without extra keyframes. Time ties a property directly to the timeline clock. time * 90 on a Rotation property spins a layer at a steady 90 degrees per second. Linear maps one value range to another, perfect for driving opacity from a slider. Math.round cleans up decimal values so counters and timers display as whole numbers.
![]()
wiggle()Random oscillation per frame
Camera shake, organic movement
loopOut()Cycles a keyframe sequence
Looping icons, repeating transitions
timeCurrent time in seconds
Continuous rotation, auto-advancing counters
linear()Maps one value range to another
Driving opacity or scale from a slider
Math.round()Rounds decimals to integers
Number counters, timecode displays
Mastering these core expressions leads to frequent reuse because they produce smaller project files and easier global adjustments. You write the expression once, and every layer that references it updates automatically.
Pro Tip: Combine loopOut("cycle") with a wiggle() expression on separate properties of the same layer. You get a looping animation that still feels alive and unpredictable, without a single extra keyframe.
How to set up your After Effects project for expression automation
Good project setup is the difference between expressions that scale and expressions that break. The standard approach is to place all your controls on a single Null object and name it CTRL. Every expression in the composition then points to that one layer.
Experts recommend driving expressions with Slider or Checkbox controls placed on a Null object rather than hardcoding values directly in the expression. Hardcoding means changing a number in every expression individually when a client asks for a revision. A centralized CTRL layer means you adjust one slider and every linked layer updates at once.
The After Effects Expression Language menu is your fastest reference tool. Alt-click (Option-click on Mac) any stopwatch to open the expression field, then use the pick whip to drag a connection from one property to another. After Effects writes the expression syntax for you. This is how you link a text layer’s opacity to a slider on your CTRL Null without typing a single character.
![]()
Create a Null object named CTRL at the top of the layer stack.
Add via Effect > Expression Controls > Slider Control.
Use for on/off toggles like showing or hiding elements.
Drag from the expression field to a target property to auto-write the link.
Label expression-driven layers with a prefix like EXP_ for easy identification.
Expressions allow global control of multiple layers through a single control change. That is the real power here. One slider on your CTRL layer can simultaneously drive the speed of a wiggle, the opacity of a background, and the scale of a logo lockup.
Step-by-step workflows for automating common animation effects
Practical expression automation follows a repeatable pattern. You set up a control, write the expression, and link the two together. Here is how that plays out across three common scenarios.
Automating a wiggle effect with a slider
Create a control Null
Add a Null object and name it CTRL.
Add a slider
Apply Effect > Expression Controls > Slider Control to the Null and name the slider Wiggle Amount.
Open the expression field
Select the layer you want to wiggle and Alt-click the Position stopwatch.
Link the wiggle to the slider
Type freq = 3; amp = thisComp.layer("CTRL").effect("Wiggle Amount")("Slider"); wiggle(freq, amp);
Drive it live
Adjust the Wiggle Amount slider on the CTRL layer and the wiggle intensity updates across every layer using that expression.
Looping an animation automatically
Animate with keyframes
Animate your layer with at least two keyframes.
Open the expression field
Alt-click the stopwatch for the animated property.
Add loopOut
Type loopOut("cycle"); in the expression field.
Done
The animation now loops indefinitely, with no extra keyframes needed.
Time-driven continuous rotation
Open the Rotation expression
Alt-click the Rotation stopwatch.
Tie rotation to time
Type time * 90;
Control the speed
The layer rotates 90 degrees every second. Change the multiplier to control the speed.
Expressions link properties across compositions, enabling complex animations without copying expressions manually for each layer. That means a rotation on one layer can drive the opacity of a completely separate layer in a different comp.
Pro Tip: Build a master CTRL Null that lives in a precomp. Nest that precomp into every scene in your project. Now one set of sliders controls the entire animation system across multiple compositions.
Testing expressions is non-negotiable. After writing any expression, scrub the timeline and watch for red text in the expression field. Red means an error. The most common mistakes are typos in layer names and mismatched parentheses. Fix those first before troubleshooting anything else.
How do you optimize expressions without killing render speed?
Complex expressions slow render speeds. Every expression evaluates on every frame, and a composition with 50 expression-driven layers calculates all of them simultaneously. That computational load compounds quickly on longer timelines.
The most effective fix is baking. Once your animation is final, select the expression-driven layers, go to Animation > Keyframe Assistant > Convert Expression to Keyframes. After Effects writes out every calculated value as a static keyframe. Baking expressions into keyframes preserves visual quality while improving real-time playback and reducing export times.
For Motion Graphics Templates (MOGRTs) distributed to editors, use numeric index values in dropdown expressions instead of string labels. Numerical indexes remain stable across localized application versions, while string labels break when the app language changes. An editor in Tokyo using a Japanese version of After Effects will see a broken template if you relied on English string labels.
Additional performance practices worth building into your workflow:
- Disable expressions on layers that are not currently visible in the comp.
- Use
thisLayerandthisCompreferences instead of calling layer names by string when possible. - Avoid expressions that call
sourceRectAtTime()on every frame unless absolutely necessary. It is one of the most expensive expression calls in After Effects. - Group related expressions onto a single
CTRLlayer rather than scattering controls across the timeline.
Expressions extend control beyond the Graph Editor, automating relationships between properties to create more responsive animation systems. Keeping those systems modular means you can swap out one expression without breaking the rest of the rig.
Key Takeaways
Expressions are the most efficient way to automate motion graphics in After Effects, replacing manual keyframes with reusable JavaScript snippets controlled by a single centralized layer.
Wiggle, LoopOut, Time, Linear, and Math.round cover the majority of automation needs.
Place Slider and Checkbox controls on a single Null object named CTRL for scalable rigs.
Use the pick whip to auto-write expression syntax and avoid manual typing errors.
Convert expressions to keyframes on final animations to cut render times without losing quality.
Numeric dropdown indexes prevent template breakage across different language versions of After Effects.
Why expressions change how you work
The first time you wire a loopOut("cycle") expression to a spinning loader icon, something clicks. Not in the software, in your head. After years of copying and pasting keyframes, that entire category of work just disappears.
The fear most designers have around expressions is understandable. The word "code" triggers a specific kind of anxiety, especially if your background is visual rather than technical. But expressions in After Effects are not programming in any serious sense. They are closer to filling in a formula. Learn five expressions, explore a library without coding, and you cover most of what you will ever need.
What changes a workflow most is not any single expression. It is the CTRL Null approach. The moment you stop hardcoding values and start driving everything from a central control layer, client revisions stop being painful. A client asks to slow down all the animations? One slider. Make everything wiggle less? One slider. That responsiveness is what separates a professional rig from a pile of keyframes.
Mastering the fundamentals first matters too, and expressions add real career value on top of them. Designers who can build expression-driven rigs get hired for the complex, high-budget projects. They become the person on the team who can build a template that 10 editors use without breaking.
Honest advice: start with wiggle() and loopOut() and get comfortable with those two, then add time for continuous motion. Within a week you will reach for expressions instinctively instead of keyframes. If you want the syntax and structure in depth, our companion guide on After Effects expressions explained breaks it down method by method.
Build your expression toolkit faster
Expressions carry the animation logic. The slower part of any project is the mechanical work around your rigs: generating grids and callouts, inserting GIFs and stock footage, managing LUTs, and organizing project files. That is the gap the Filmit for motion designers toolkit fills, so your expressions handle the motion and the plugins handle the rest. Everything installs through Filmit Studio, our free companion app for Windows and macOS.