Browse documentation

Animations

Every animation, transform, and keyframeable property.

Every animation on the timeline has a start time, a duration, and an easing, and can be muted (switched off without deleting it) or locked (protected from an accidental drag). What differs is the kind of animation. There are eight.

Whole-object animations

Plays a named Manim animation on the entire object — an entrance, an exit, or a one-shot emphasis. This is what the Anim tab's quick-animate grid inserts.

Entrances (the object goes from not-there to fully visible):

NameWhat it looks like
CreateDraws the outline on, then fills
WriteHandwriting-style stroke-on (best for text/formulas)
DrawBorderThenFillBorder first, then fill sweeps in
FadeInOpacity 0 → 1, optional shift direction
GrowFromCenterScales up from a point at its center
GrowFromEdgeScales up from one edge (edge: up/down/left/right)
GrowArrowGrows from tail to tip (arrows only)
SpinInFromNothingScales up while spinning in
AddTextLetterByLetterTypes on character by character (text only)

Exits (the reverse of the above):

FadeOut, Uncreate, Unwrite, ShrinkToCenter, RemoveTextLetterByLetter.

One-shot emphasis (plays in place, doesn't change presence):

Flash, Indicate, Circumscribe, ShowPassingFlash, FocusOn, Wiggle, ApplyWave, Broadcast, Rotating.

Keyframing a value

Ramps one property from a starting value to an ending value over the animation's duration. This is what the Animate a value panel, the ◆ diamonds, and ● record mode all create. See Keyframe any property for the workflow, and How keyframes and time work for the idea underneath.

Universal properties, available on every object type:

PropertyType
position2D point
positionZnumber (depth in a 3D scene)
rotationnumber, degrees
rotationX, rotationYnumber, degrees (3D tilt/spin — also available on path objects)
scale2D scale factors
opacity0–1
fill, strokecolor
strokeWidthnumber

Beyond that, each object type has its own shape settings — a circle's radius, a rectangle's width and height, a function graph's tangent position, and so on. The Anim tab only ever shows the settings that make sense for the object you selected; the full list per type is in Object types. Drawn paths are the open-ended case: every anchor point can be animated on its own.

A property animation can also carry a live value readout — a small number pinned to the canvas that ticks upward or downward alongside the animation.

Morphing into another object

Turns one object into another. Requires a target object already in the scene.

TransformBehavior
TransformMorphs in place; the source becomes the target's shape
ReplacementTransformSame morph, but the target object replaces the source in the scene afterward
TransformMatchingTexMatches terms between two formulas — matched pieces slide to their new places, the rest crossfades. This is what powers the derivation object
TransformMatchingShapesSame idea for non-text mobjects, matched by submobject structure
FadeTransformCrossfades while moving, without shape-matching
ClockwiseTransform / CounterclockwiseTransformMorphs while rotating through the turn in that direction
TransformFromCopyLike Transform, but leaves the source object in place and animates a copy
MoveAlongPathNot a morph — the object rides along the target's outline as a motion path

Linear transformations (a matrix)

Applies a matrix to the object about the scene origin — the standard way to show a linear map.

  • 2×2: the default, for shears, rotations, scales, and reflections in the plane. The inspector shows the live determinant and what it means — flips orientation, collapses to a line, multiplies area by n.
  • 3×3: for 3D scenes. When you set one, it takes over from the 2×2. The canvas can only preview the flat part of a 3D map; the true result appears once you render. See Animate a linear transformation.

Bending the plane (a warp)

What a matrix provably cannot do: a matrix always maps straight lines to straight lines. A warp bends them. Found under "Transform the plane" in the Anim tab, next to the matrix tools.

WarpWhat it does
Squares every point as a complex number — doubles angles around the origin and bends straight grid lines into parabolas
1 / zTurns the plane inside out: what was near the origin flies outward, what was far comes in
eᶻWraps horizontal lines into circles and vertical lines into rays — the exponential map
FoldFolds the left half of the plane onto the right, like closing a book
RippleRuns a wave through the shape — every point rises or falls with its horizontal position
PinchSqueezes the shape toward its horizontal centre line, like an hourglass

Applied to a coordinate plane, these are the standard complex-analysis visuals.

Moving the curve itself (a sweep)

For graphs driven by a formula — function graphs, parametric curves, polar graphs. Instead of morphing between two fixed poses, the curve re-draws itself every frame as a value in its formula changes. That makes it a true formula animation.

Write a somewhere in the formula, then pick a motion card under "Move the curve itself" in the Anim tab, or set the From and To values for a yourself. The result is a clip on the timeline you can drag, trim, and mute like any other — but it cannot be split with the razor. Only keyframe and camera clips can be cut in half.

Animating one symbol

Animates a single symbol or term inside a formula, or one piece of plain text, rather than the whole object. Found under "One symbol at a time" in the Anim tab.

Six effects keep the symbol where it is — Pulse, Circle it, Flash, Wiggle, Recolour, and Isolate (which dims everything else so one term stands alone). Five actually move or change it — Move, Rotate, Resize, "Turn into…", and "Pull out" (which lifts the symbol out, holds it, and puts it back, leaving the formula intact).

Every occurrence of the symbol you type is affected. See Animate one symbol.

Recoloring a graph

Recolors one vertex or one edge of a network graph over time. Chain several with staggered start times to build a step-by-step traversal, one node lighting up after another.

Moving the camera

A camera animation targets the scene's camera rather than an object. It can carry any combination of:

SettingWhat it moves
Position, heightWhere the frame is centred, and how tall it is in 3D
ZoomFrame scale
RotationFrame roll
Orbit anglesThe viewing angle in a 3D scene

Only the settings you actually change are animated — a camera move that only changes zoom leaves position and rotation exactly where the previous camera move left them.

Easing

Every animation has an easing. The list is Smooth (the default), Linear, Ease In, Ease Out, Ease In-Out, Bounce, Elastic, Back, Exponential, and Custom curve…. Easing shapes when the value moves during the animation — it doesn't change the start or end values themselves.

Drawing your own curve

Choosing Custom curve… opens a curve pad, the same kind browsers use for CSS easing. Drag the two handles to shape it. The start and end points are fixed — that's what keeps it a valid ease — and the numbers under the pad update as you drag.

The handles can be pulled above the top or below the bottom of the pad, which is how you build an ease that dips back before it sets off, or overshoots and settles. Four one-click presets sit underneath:

PresetWhat it feels like
EaseA gentle, general-purpose ease
AnticipatePulls back slightly before moving off
OvershootShoots past the target, then settles onto it
SnapHolds, then covers most of the distance abruptly

A whole drag counts as one undo step. Switching back to a named easing keeps your curve stored but unused, so you can return to it.

Speed ramp

Every animation can also carry a speed ramp — points that make it speed up or slow down inside its own duration, anywhere from 0.1× to 10×. This is the CapCut-style effect: accelerate through the middle, or drop into slow motion, without changing how long the animation lasts. It works together with easing, and the preview matches the finished video. Edit it in the inspector's Timing → Speed ramp block, or from a clip's right-click menu on the timeline. See Speed-ramp an animation.

Blocked combinations

A handful of overlaps are refused before they're created, because Manim has no sensible way to run them at once on the same object. This isn't a style choice — it's a real limit on what one object can do simultaneously. Trying to create or drag a clip into one of these shows a message naming the reason, and the edit doesn't go through:

CombinationWhy it's blocked
Two morphs overlapping on the same objectAn object can only morph toward one target at a time
A replacing morph overlapping anything else on that objectThe original object stops existing partway through, so nothing else can safely run against it in that window
Two entrances or exits overlappingOnly one "is this on screen yet" transition can be in flight at once
An exit overlapping anything else on that objectNothing can meaningfully keep animating an object that's mid-disappearance
Two matrix transformations overlappingOne linear map is applied to an object's points at a time
A path-following animation overlapping anything else that drives positionTwo mechanisms can't both own where the object is

Animations that don't overlap, and any of the above on different objects, are unaffected — this only stops genuinely ambiguous overlaps on one object.