Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
13

Introducing Variable Font Animation in After Effects Beta 26.0x40

Adobe Employee ,
Nov 20, 2025 Nov 20, 2025

Get hyped for variable type! We're excited to announce support for Variable Font Animation in After Effects! Stretch, squash, jitter and transform your text with the combined power of After Effects text animators and variable font axes.  You can now animate variable font properties like Weight, Width, Slant, and more directly in the Timeline using Text Animators, edit them interactively in the Properties Panel, and drive them through the Essential Graphics Panel + Mogrts, unlocking powerful new typographic animation possibilities. 

 

Imagine animating your text from whisper-thin to ultra-bold with buttery smooth transitions, all the characters at once or with a gradual fade from one weight to another. Or making each character dance with its own unique style. Or driving font dynamics with expressions that respond to your scene. Now stop imagining—because it’s all real.

 

Any axis your variable font supports can be animated with the full power of After Effects’ Text Animators.

That means full keyframe control, expression support, and up to 8 axes animated simultaneously per layer. Whether you're designing slick title sequences, expressive motion graphics, or experimental typographic art, this feature unlocks a whole new playground.

 

Properties Panel Editing

When you select a text layer with a variable font, a Variable Font Axes button appears in the Properties Panel next to the font family selector. Click this button to reveal a showing all available axes for your font with interactive controls.

 

jenkmeister_0-1763655639920.png

 

Text Animator Animation

Variable fonts contain multiple stylistic variations within a single font file, and now you can animate between these variations smoothly in After Effects. Access any axis available in your variable font—from standard axes like Weight and Width to custom designer-defined axes—and animate them just like any other property. You can have your type interpolate from Light and Roman to Bold and Italic, with the transition traveling across your entire text block.

 

jenkmeister_1-1763655679765.png

 

jenkmeister_2-1763655700564.png

 

jenkmeister_3-1763655734070.png

 

jenkmeister_4-1763655839998.png

 

Getting Started

  1. Quick Font Tuning in the Properties Panel

Fine-tune your typography without animation:

  • Select a text layer with a variable font
  • Open the Variable Font Axes popup from the Properties Panel
  • Adjust Weight, Width, or other axes to find the perfect look

 

  1. Dynamic Weight Transitions

Animate text from thin to bold for emphasis or title reveals:

  • Add Font Axis Weight as a text animator
  • Keyframe from minimum to maximum weight values
  • Creates smooth, native font weight transitions

 

  1. Per-Character Wiggly Typography

Create organic, playful text animations:

  • Add Font Axis Weight (or any axis) as a text animator
  • Add a Wiggly Selector to the animator
  • Each character will randomly vary its font weight over time

 

  1. Expression-Driven Typography

Link font properties to other animation parameters:

  • Use expressions to drive a Font Axis based on any other property
  • Map slider controls to multiple font axes
  • Create responsive typography that reacts to layer properties

 

  1. Range-Based Reveals

Animate text reveals with changing font characteristics:

  • Add Font Axis Weight and a Range Selector to a text animator
  • Animate the Range Selector Start from 0% to 100%
  • Text reveals while simultaneously changing weight

 

  1. Mixed-Font Variable Animations

Apply axis animations across multiple variable fonts in one layer:

  • Use character ranges to apply different variable fonts
  • Add axes from any font used in the layer
  • Each character animates according to its font's axis capabilities

 

7. Essential Graphics and Motion Graphic Template Support

Drag and drop the Font Axes from the timeline into the Essential Graphics Panel:

  • Decide which axes are available as values in parent comps
  • Save as a Motion Graphic Template and use in Premiere with access to the selected Font Axes
  • Animations using variable fonts will replay and render in Premiere

Variable Font Spacing

The Variable Font Spacing property gives you control over how After Effects handles character spacing when animating Variable Font axes.

 

When you animate Variable Font axes (like Weight, Width, etc.), the individual characters can change width. After Effects can apply per-character tracking adjustments to compensate for these design changes. This property lets you control when and how these adjustments are applied.

 

jenkmeister_5-1763655946387.png

Variable Font Spacing Modes

The Variable Font Spacing property offers three modes:

  • Adaptive – Applies per-character tracking compensation when appropriate to maintain natural spacing as font axes change.
  • Per-Character – Always applies per-character tracking compensation.
  • Default – Disables per-character tracking compensation entirely. Characters maintain their original spacing despite font axis changes. Useful for creative effects where you want the natural width changes of the font to affect the overall text layout.

Accessing Variable Font Spacing

To access the Variable Font Spacing property:

  • Expand your text layer's Text property group
  • Add a Variable Font Axis to animate
  • Open the More Options section
  • Look for the Variable Font Spacing property (it appears only when at least one font axis is active)

 

Scripting API Documentation

Adding Variable Font Axes

Variable font axes are added to Text Animator Properties using the addVariableFontAxis() method:

// Create a comp
var comp = app.project.items.addComp("Create Axis Comp", 1920, 1080, 1, 30, 30);
comp.openInViewer();

// Create a text layer
var textLayer = comp.layers.addText("Hello World!");

// Set the font to primary font
var textDocument = textLayer.property("Source Text").value;
textDocument.font = 'ShantellSans';
textLayer.property("Source Text").setValue(textDocument);

// Get the font object back from the text document
textDocument = textLayer.property("Source Text").value;

// Get the text property and animators group
var textProp = textLayer.property("Text");
var animators = textProp.property("Animators");

// Add a new animator
var animator = animators.addProperty("ADBE Text Animator");
var animatorProps = animator.property("ADBE Text Animator Properties");

// Add the Weight axis
var axisProp = animatorProps.addVariableFontAxis("wght");

 

Common Axis Tags

Standard registered axes include:

  • "wght" - Weight (100-900 typical range)
  • "wdth" - Width (percentage of normal width)
  • "slnt" - Slant (angle in degrees)
  • "ital" - Italic (0-1 range)
  • "opsz" - Optical Size (point size)

Fonts may also include custom axes with 4-character uppercase tags (e.g., "INFM" for Informality).

Note: Axes must exist on the font to have any impact. These are just examples of some axis tags.

 

Working with Axis Properties

Once added, variable font axes behave like standard After Effects text animator properties:

// Set a static value
axisProp.setValue(700);

// Set keyframes
axisProp.setValueAtTime(0, 300);  // Light at 0 seconds
axisProp.setValueAtTime(2, 900);  // Heavy at 2 seconds

// Read values
var currentWeight = axisProp.value;
var weightAtTime = axisProp.valueAtTime(1, false);

// Check properties
var axisName = axisProp.name;  // "Font Axis Weight"
var numKeyframes = axisProp.numKeys;

// Display the results
alert("Axis Name: " + axisName + "\n" +
      "Current Weight: " + currentWeight + "\n" +
      "Weight at time 1: " + weightAtTime + "\n" +
      "Number of keyframes: " + numKeyframes);

 

Getting Font Axis Information

To discover what axes a font supports:

var comp = app.project.items.addComp("Test Comp", 1920, 1080, 1, 30, 30);
comp.openInViewer();

var textLayer = comp.layers.addText("hello world");
var textDocument = textLayer.property("Source Text").value;
var fontObject = textDocument.fontObject;

if (fontObject && fontObject.designAxesData) {
    var axes = fontObject.designAxesData;
    var message = "Variable Font Axes (" + axes.length + " total):\n\n";
    
    for (var i = 0; i < axes.length; i++) {
        var axis = axes[i];
        message += "Axis " + (i + 1) + ":\n";
        message += "  Tag: " + axis.tag + "\n";
        message += "  Name: " + axis.name + "\n";
        message += "  Min: " + axis.min + "\n";
        message += "  Max: " + axis.max + "\n";
        message += "  Default: " + axis.default + "\n";
        
        if (i < axes.length - 1) {
            message += "\n";
        }
    }
    alert(message);
} else {
    alert("No variable font axes found");
}

 

Adjusting the Variable Font Spacing Property

// Working with Variable Font Spacing
var moreOptions = textProp.property("More Options");
var variableFontSpacing = moreOptions.property("ADBE Text Variable Font Spacing");

// Variable Font Spacing has 3 modes:
// 1 = Adaptive - Applies per-character tracking when appropriate
// 2 = Per Character - Always applies per-character tracking
// 3 = Default – Tracking is per the default Text Animator settings

// Set to Per-Character 
variableFontSpacing.setValue(2);

// Get the current mode
var currentSpacingMode = variableFontSpacing.value;

 

Accessing Axes in Expressions

Variable font axes can be referenced in expressions using their property accessor. It will be fontAxis[4 char tag], e.g. fontAxisWght, fontAxisWdth, etc.

// Reference axis from another property
text.animator("Animator 1").property.fontAxisWght
// Link layer opacity to font weight
var weight = text.animator("Animator 1").property.fontAxisWght;
weight / 10;
// Create responsive typography – apply to Font Axis Weight
var scale = thisComp.layer("My Layer Name").transform.scale[0];
linear(scale, 50, 150, 300, 900);  // Map scale to weight

 

A few things still to come…

  • "All Font Axes" is now available in the Variable Font Axes menu starting in Build 26.0x45. (You must add each axis you want to animate individually. A future Beta build will bring an Add "All Font Axes” option to speed up this process.)
  • While Variable Font Animation works with both Point and Box Text, the defined area of Box Text is not maintained with Text Animators. Variable fonts will cause the rendering area to change, and justified text will not wrap as expected. We are investigating improvements here.

 

Examples of Variable Font Animation in Action!

The team has been testing Variable Font Animation out over the past few weeks and here's just a sample of what we've come up with. We are sure you'll find many more creative ways to use variable fonts!

 

 

We can't wait to see what you create with this powerful new typography animation feature! Share your projects and techniques in the comments below.

 

Official Help Links

 

Expression Support

 

Scripting Support

TOPICS
Feature request
3.8K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 20, 2025 Nov 20, 2025

The type hype is finally ripe! 
This will enable some really exciting stuff. Thanks, team! 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 20, 2025 Nov 20, 2025

Excited to try it out!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Nov 20, 2025 Nov 20, 2025

Ooooh! This is nice 🤩

How does it translate into Lottiefiles/HTML? 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Nov 21, 2025 Nov 21, 2025

I think this will need an update from Lottie to read the values and translate from there. Nothing done by the AE team so far on this. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 20, 2025 Nov 20, 2025

Amazing addition! Appreciate the detailed breakdown

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 20, 2025 Nov 20, 2025

This is exciting. Once question though, can we get a better font library in AE? Similar to the way its done in illustrator? That way we can save variable fonts to a library and not have them jumbled up with other fonts making it difficult to locate one?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Nov 21, 2025 Nov 21, 2025

Something we want to look at for sure. Now that the Variable Fonts have more value, getting libraries of fonts together seems more valuable. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Nov 20, 2025 Nov 20, 2025

Huge. I was growing tried of the old hacks and options! Hopefully we can get overlord to support and push variable fonts from figma etc! 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 24, 2025 Nov 24, 2025

I tested like 10 variable fonts in Illustrator and pushed them to AE with Overlord 2 and they all came over just fine!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Nov 25, 2025 Nov 25, 2025
LATEST

Thats great! Will save me HOURS of typing in variable font values into script panels. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 20, 2025 Nov 20, 2025

I'm very excited that this is finally happening! 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Nov 20, 2025 Nov 20, 2025

When duplicating a Text Animator - motivation was to 2X the settings to overcome the allowable max values - motion is jittery. More duplicates accentuates the issue.


Very Advanced After Effects Training | Adaptive & Responsive Toolkits | Intelligent Design Assets (IDAs) | MoGraph Design System DEV
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 21, 2025 Nov 21, 2025

When is this released? 

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Nov 21, 2025 Nov 21, 2025

Yay thank you AE team! Look forward to trying this out, VF animations have been a big pain point, so glad it has native controls now.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Nov 24, 2025 Nov 24, 2025

A couple of updates in AE Beta 26.0x45:

  • When you have a font with more than 1 axis and open the Variable Font Axes Text Animator menu, an "All Font Axes" option is now available to add all the axes to the selected layer. 

 

Screenshot 2025-11-24 at 11.25.14 AM.png

  • If you were trying to do any math equations in the Variable Font Axes section of the Properties Panel, those will now work (e.g. typing 5*2 will now result in 10 and not reset to 5, assuming the value calculated is within the min/max range of the axis)

 

Screenshot 2025-11-24 at 11.26.57 AM.png

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines