OmniMotion®
GuideDraft

Variable fonts

A variable font's own axes as sliders, ready effects (Reveal, Wave, Breathe, Pulse, Follow mouse, Sweep) built from them, and range animation with a visual strip when you want every detail.

A variable font carries more than a weight: width, optical size, slant — and often axes of its own, like a softness, a "wonky" switch or a year. The Variable font block in the Text section turns every one of them into a slider, and builds motion from them in one click. Letter-by-letter entrances are on Text animation; typing and styling a text layer is on Drawing & layers.

01Quick tour

  1. Select a text layer and pick a variable font — Fraunces, Recursive or Climate Crisis are good first tries.
  2. Open Variable font in the Text section. Each axis is a slider; axes unique to this font are marked ★.
  3. Under Effect, pick Wave. The font's own ★ axis and Weight are already chosen under Axes.
  4. Press + Add wave, then Space. A swell of the chosen axes runs across the text, forever.
The Variable font block on a Fraunces headline: axis sliders with ★ Softness, the Effect chips with Wave on, Axes chips, Strength and Speed, and one Active effect

02Which fonts

Every family in the studio font list that ships as a variable file works here — among them Inter, Roboto Flex, Fraunces, Archivo, DM Sans, Montserrat and Newsreader. A second group is in the list for its axes alone: Recursive, Anybody, Bricolage Grotesque, Mona Sans, Shantell Sans, Bodoni Moda, Big Shoulders, Tilt Warp, Handjet, Sixtyfour, Workbench, Wavefont, Climate Crisis and Kablammo.

The full font file loads the first time you open the block for that family. The Font axes row says what it found — 3 axes · 9 styles — and hovering it lists every axis with its range and default. While the file loads it reads Loading the font file….

A font that is not variable still gets the block. It reads Not a variable font — ranges can still move, scale and fade letters, and the effects below move and fade the letters instead of changing their shape.

03Axes

One slider per axis, from the font's own minimum to its maximum.

  • ★ marks an axis that is unique to this font — anything beyond weight, width, optical size, italic and slant. Hover a slider for its tag, range and default.
  • ↺ appears on an axis you changed and puts it back to the font's default.
  • Style — Named style… applies one of the font's built-in styles in one pick.
  • Optical size follows the font size until you move it yourself.
  • Some fonts hide technical axes. Show N technical axes reveals them; Hide technical axes tucks them away again.

Animating an axis

Every number in the block has a ⏱ button beside it. Click it and the value becomes a timeline property: keyframe it with the ◆ badge, bind it to the mouse, scroll or audio with ∿, or set it from a rule. Click ⏱ again to stop; the value stays where it is. A text layer can animate up to eight of these at once.

04Effects

Effects are the quick way to motion. Pick a behavior, pick axes, set how strong and how fast, and add it.

EffectWhat it doesRuns
RevealLetters arrive one by one, morphing from the extreme into the normal styleOnce, from the playhead
WaveA wave of the chosen axes runs across the textLoops forever
BreatheThe whole text swells and relaxes togetherLoops forever
PulseRandom letters flare up and settleLoops forever
Follow mouseLetters under the pointer swellLive, in Preview and Simulate
SweepOne pass of the axes across the textOnce, from the playhead

Hover an effect chip — the tooltip says the same.

ControlWhat it sets
AxesWhich of the font's axes the effect moves. It starts with the font's first ★ axis and Weight. Click a chip to add or drop it
StrengthHow far the axes travel from their current value toward the font's extreme. Default 70 %
Speed / DurationRight is faster. Loops take 3.6 s at the left end down to 0.7 s at the right; one-off effects 2.4 s down to 0.6 s. Default in the middle. Not shown for Follow mouse
Direction→ or ← — Wave and Sweep only
Lift lettersLetters also rise a little where the effect is. Not shown for Reveal

Press + Add … — the button names the effect. A toast says how to see it: press play, move the mouse over the text in Preview / Simulate, or keyframes added at the playhead for the one-off effects. It is one undo step.

  • Reveal needs at least one axis. It rides the text's entrance clock. If the layer's Animate is Off, it switches to Letter, and two keyframes on Anim start at the playhead.
  • Sweep writes two keyframes on the Range property, starting at the playhead. Drag them in Keys to move the pass in time.
Stack them. A slow Breathe on weight under a fast Pulse on a ★ axis reads as a living logo — each effect is its own entry under Active effects.

Active effects

Everything on the layer is listed under Active effects as a readable line — Wave · 2.1s with Softness 100 · Weight 780 under it. × removes one. Tune opens every detail of that effect (below); a Reveal has no Tune — its timing is the text animation's. Custom range… starts an empty one with every field, for when you want to build from scratch.

05Tune — range animation

A range picks which letters are affected, how the pick moves across the text, and what happens to the letters inside it. Tune lays those out as three questions.

1 · Which letters

The range strip: each letter of the headline with a bar under it showing how strongly it is selected, and the draggable window band below

The strip shows your own text, one letter (or word, or line) at a time, with a bar under each: the taller the bar, the more that unit is affected right now. Below it is the window — drag its middle to move it, drag an edge to make it wider or narrower. The strip plays live while the timeline plays. A pale band shows where a moving window actually is at this moment.

RowWhat it sets
Count byLetters (spaces skipped), Words or Lines — what one step of the window is
FalloffHow strongly letters inside the window are affected: Square (all the same, with a soft-edges value), Ramp up, Ramp down, Triangle, Round, Smooth (strongest in the middle)
Random orderPick letters in a scattered order instead of left to right. The number is the shuffle — another number, another order

2 · How it moves

Window chooses what slides the window across the text. A line under it explains the choice.

WindowWhat slides it
StaysNothing — it stays where you put it. Slide it with Offset, or press ⏱ on Offset and bind it with ∿ to follow the mouse, scroll or audio
KeyframesYou decide when: the Range property goes 0 → 1 on the timeline. Add 0→1 here puts two keyframes at the playhead
With revealMoves with the text's entrance (Anim), so it rides the letter-by-letter reveal
LoopsSlides from From to To over and over, following the timeline clock. Every sets how long one pass takes

From → To are percentages of the text — negative starts before the first letter, 100 ends past the last. ⇄ reverses the direction.

3 · What happens to them

RowWhat it sets
AmountStrength of everything below, −100 % to 100 %. Negative inverts
axis rowsThe value each chosen axis reaches inside the window. + Change a font axis… adds another; × stops changing one
Move X / YA sideways and vertical shift in px (negative Y is up)
Scale / RotateScale (1 = unchanged) and rotation in degrees
OpacityOpacity of the selected letters

Every number here has its own ⏱, so a range's amount, offset or axis target can be keyframed, bound or set from a rule like any other property.

06Recap

WhereText › Variable font
Axesone slider each · ★ = unique to this font · ↺ = reset · Named style…
EffectsEffect · Axes · Strength · Speed / Duration · + Add
Tune1 · Which letters · 2 · How it moves · 3 · What happens to them
Animate a value⏱, then ◆ or ∿
Checked against the tool on 2026-09-30.