0
100
200
300
400
500
600
700
800
900
1000
1100
0
100
200
300
400
500
600
700
800
900
1000
1100
Guide · Prototyping

How to Animate in Figma with Smart Animate

To animate in Figma, duplicate a frame, change the layers in the copy, then connect the two frames in the Prototype tab and set the animation to Smart animate. Figma matches layers by name and position in the layer hierarchy and tweens the difference between them.

Smart animate handles scale, position, opacity, rotation and fill. It won't animate shadows, a change from one shape type to another, or overlay actions.

Updated Sep 24, 20263 min read
On this page
4 steps

Quick steps

1

Build the start frame

Design the first state as a top-level frame.

2

Duplicate it and change the layers

Duplicate the frame and move, resize, fade, rotate or recolour layers in the copy. Don't rename them.

3

Connect the frames

Press Shift+E, drag a connection from a layer in the first frame to the second frame, and pick a trigger such as On click or After delay.

4

Set Smart animate

Set the animation to Smart animate and choose a duration. Press Shift+Space to preview.

01

How Smart animate matches layers

Figma pairs each layer in the start frame with the layer of the same name at the same place in the hierarchy in the end frame. Matched layers animate between their two states. Layers that don't change between the frames aren't animated.

Duplicating the frame is the easiest way to keep names and nesting identical. If you rebuild a layer or wrap it in a new frame, the match breaks.

02

Why is Figma Smart animate not working?

  • Layer names don't match. A renamed layer ("Card" vs "Card copy") has no partner. Rename them to match.
  • The hierarchy changed. The same name inside a different parent frame counts as a different layer.
  • You're animating an unsupported property. Shadows don't tween, and neither does a rectangle turning into an ellipse.
  • It's an overlay. Smart animate doesn't apply to overlay actions. Use Navigate to between full frames instead.
03

Other animations in Figma prototypes

Figma also has Instant, Dissolve, Move in/out, Push and Slide in/out. Slide offsets the new frame as it dissolves in; Move keeps the original frame still. All of them are available on every plan, and duration runs from 1 to 10,000 ms. For button states, Smart animate on variants gives you hover and press effects; see how to add a hover effect in Figma.

04

Export the animation as a GIF

A prototype only plays inside Figma. To drop the animation into a README, Slack or a case study, you need a GIF. Flippy, our plugin, takes a set of frames in order and exports them as a GIF with per-frame timing and a loop count, so each Smart animate state can be one frame of the GIF. The full method is in how to make a GIF in Figma.

For connections, triggers and flows, start with how to prototype in Figma.

Ranked listThe best Figma animation plugins in 2026
FAQ

Frequently asked questions

How do I add animation in a Figma prototype?

Connect two frames in the Prototype tab and set the animation to Smart animate, Dissolve, Move, Push or Slide. Smart animate tweens matching layers between the two frames.

Why is Smart animate not working in Figma?

Usually the layer names or their nesting differ between the two frames, so Figma can't pair them. Smart animate also skips shadows, shape-type changes and overlay actions.

What can Smart animate animate?

Scale, position, opacity, rotation and fill on layers that share a name and position in the hierarchy across both frames.

Keep learning

More in Prototyping

All guides in Prototyping