Summarize this article with:

Static designs don’t sell ideas. Motion does.

Learning how to animate in Figma transforms flat screens into interactive prototypes that stakeholders actually understand.

Figma’s Smart Animate feature handles the heavy lifting. You set up two frames with matching layers, connect them, and Figma calculates the transitions automatically.

No timeline editing. No keyframe fussing.

This guide walks you through setting up frames, configuring triggers and transitions, adjusting easing curves, and testing your prototype animations in Presentation View.

You’ll create smooth motion design in 15 to 45 minutes, whether you’re building hover states, loading animations, or full screen transitions.

How to Animate in Figma

YouTube player

How to animate in Figma involves creating prototype connections between frames and applying transitions through the Prototype tab.

Users need Figma animations when building interactive prototypes, demonstrating user flows, or presenting design concepts to stakeholders.

This guide covers 8 core steps requiring 15 to 45 minutes depending on animation complexity.

Works with Figma’s free and paid plans.

Have you seen the latest Figma statistics?

Discover comprehensive Figma statistics including revenue growth, market share, user demographics, and funding data.

Check them out →

The Smart Animate feature recognizes matching layers between frames and automatically creates smooth transitions for position, size, opacity, and rotation changes.

You’ll learn to set up frames, configure triggers, adjust easing curves, and preview your motion design in Presentation View.

Prerequisites

Before creating Figma prototype animations, gather these requirements:

  • Figma account (free or paid plan)
  • Figma Design file with at least two frames
  • Basic understanding of layer panel and frame structure
  • Access to Prototype tab in right sidebar

Time estimate: 15 to 45 minutes depending on complexity.

If you’re new to the platform, first learn how to make a frame in Figma before attempting animations.

Understanding how to use components in Figma also helps when animating reusable elements.

Step 1: How Do You Set Up Frames for Animation?

Create at least two frames representing different states of your design.

Name layers identically across frames to enable Smart Animate matching.

Position frames side by side on the canvas for easier prototype connection management.

Action

  1. Press F to activate Frame tool, click canvas to create frame
  2. Duplicate frame using Ctrl+D (Windows) or Cmd+D (Mac)
  3. Modify elements in second frame: position, size, opacity, or rotation
  4. Verify layer names match exactly between frames in Layers panel

The layer hierarchy matters. Smart Animate looks for matching layers that exist across multiple frames based on both name and position within the hierarchy.

Took me forever to figure out why animations weren’t working. The culprit? A single typo in a layer name.

If you need to rotate elements in Figma, do it in the second frame to create rotation animations between states.

Purpose

Smart Animate requires matching layer names and hierarchy to recognize which elements to animate between frames.

Without identical naming, Figma applies a default dissolve transition instead of animating individual properties.

Step 2: How Do You Access Prototype Mode?

YouTube player

Switch from Design tab to Prototype tab in the right sidebar to access animation and connection settings.

The Prototype tab reveals connection nodes on selected frames and layers.

Action

  1. Click Prototype tab in right sidebar (next to Design and Inspect tabs)
  2. Select the frame you want to animate from
  3. Locate the circular connection node on the right edge of the frame

You’ll notice a small white circle appears when hovering over frames in prototype mode.

This is your starting point for all Figma animation work.

Understanding how to prototype in Figma gives you the foundation for creating any type of interactive animation.

Purpose

Prototype mode enables interaction creation and animation configuration between frames.

You can’t access transition effects, easing curves, or animation triggers from the Design tab.

Step 3: How Do You Create a Prototype Connection?

Drag from the connection node on the starting frame to the destination frame.

This creates a blue arrow linking the two frames and opens the Interaction details panel.

Action

  1. Hover over selected frame until connection node appears (right edge)
  2. Click and drag from node to destination frame
  3. Release on destination frame to complete connection
  4. Connection arrow appears linking both frames

The blue noodle (that’s what designers call it) shows the relationship between your frames.

You can create multiple connections from a single frame to different destinations.

If you want clickable elements within frames, you can also connect individual layers, groups, or components rather than entire frames.

Learning how to link pages in Figma follows similar principles but works across different pages in your file.

Purpose

Connections define the relationship between frames and enable navigation within the prototype.

Without connections, there’s no animation. Your prototype would just be static screens.

Step 4: How Do You Select a Trigger?

Choose the interaction trigger from the Trigger dropdown in the Interaction details panel.

Common triggers include On Click, On Hover, On Drag, and After Delay.

Action

  1. Click Trigger dropdown in Interaction details panel
  2. Select On Click for standard button interactions
  3. Select After Delay with duration in milliseconds for automatic transitions
  4. Select On Hover for mouse-over effects (desktop only)

After Delay triggers work great for loading animations, onboarding sequences, or auto-playing carousels.

On Drag triggers let you create swipe gestures and drag interactions for mobile prototypes.

The trigger you choose affects the entire user experience of your prototype.

Available Triggers

  • On Click / On Tap: User clicks or taps the hotspot
  • On Hover: Cursor enters the hotspot area
  • On Drag: User drags the element
  • After Delay: Automatic trigger after specified time
  • Mouse Enter / Mouse Leave: Cursor movement triggers
  • While Pressing: Active during mouse down

Purpose

Triggers determine what user action initiates the animation between frames.

Choosing the right trigger makes your prototype feel realistic and matches expected behavior in the final product.

Step 5: How Do You Choose a Transition Type?

Select the animation transition from the Animation section dropdown.

Options include Instant, Dissolve, Smart Animate, Move In, Move Out, Push, Slide In, and Slide Out.

Action

  1. Locate Animation section in Interaction details panel
  2. Click transition dropdown (default is Instant)
  3. Select Smart Animate for layer-based property animations
  4. Select Move In or Push for directional screen transitions
  5. Set direction (Left, Right, Top, Bottom) for directional transitions

Smart Animate is the magic sauce. It automatically calculates differences between matching layers and creates smooth interpolation.

The Push transition works perfectly for replicating swipe gestures on mobile.

Dissolve is your fallback when layer names don’t match or you just want a simple fade.

Transition Types Explained

  • Instant: No animation, immediate switch
  • Dissolve: Fade between frames
  • Smart Animate: Animates matching layers based on property changes
  • Move In/Out: Slides destination frame above original
  • Push: Pushes original frame out as new frame enters
  • Slide In/Out: Slides with dissolve offset effect

These transition effects form the foundation of micro-interactions in your designs.

When building complex prototypes, you might also want to learn how to make a carousel in Figma using these same transition principles.

Purpose

Transition type controls how Figma animates between the starting frame and destination frame.

The right transition makes your prototype feel polished; the wrong one makes it feel janky.

Step 6: How Do You Configure Easing and Duration?

Adjust easing curves and duration values to control animation speed and feel.

Easing options include Linear, Ease In, Ease Out, Ease In and Out, and Custom Bezier.

Action

  1. Click Easing dropdown in Animation section
  2. Select Ease Out for objects entering view (starts fast, slows at end)
  3. Select Ease In for objects exiting view (starts slow, speeds up)
  4. Set Duration in milliseconds (200ms to 400ms for micro interactions)
  5. Enter Custom Bezier values for precise control (format: x1, y1, x2, y2)

Most designers default to Ease In and Out. It works, but feels too predictable after a while.

Ease Out feels more natural for elements appearing on screen because it mimics physical deceleration.

Easing Presets

  • Linear: Constant speed, mechanical feel
  • Ease In: Slow start, accelerates; good for exits
  • Ease Out: Fast start, decelerates; good for entrances
  • Ease In and Out: Slow start and end, fast middle
  • Ease In Back: Overshoots initial position, anticipatory bounce
  • Ease Out Back: Overshoots final position, settling bounce
  • Spring: Physics-based animation with bounce

Spring animations add personality but use them sparingly. Too much bounce feels cartoonish.

The Custom Bezier option lets you define exact acceleration curves using a Bézier curve editor.

If you’re working with CSS animations later, these easing concepts translate directly to your code.

Duration Guidelines

  • 100-200ms: Button feedback, hover states
  • 200-400ms: Standard transitions, modal openings
  • 400-600ms: Large screen transitions, onboarding
  • 600ms+: Complex sequences, decorative animations

Faster isn’t always better. 200ms feels snappy; 100ms feels rushed.

Purpose

Easing determines the acceleration curve of the animation, making movements feel natural or mechanical.

Duration controls perceived responsiveness of your user interface.

Step 7: What Properties Does Smart Animate Support?

Smart Animate recognizes changes in position, size, rotation, opacity, and fill color between matching layers.

Understanding supported properties helps you design animation states that Figma renders correctly.

Supported Properties

  • Position: X and Y coordinate changes; layer moves from one location to another
  • Size: Width and height changes; layer scales up or down
  • Rotation: Angle changes; layer rotates around center point
  • Opacity: Transparency changes; set 0% for invisible, 100% for visible
  • Fill: Color transitions between values

Position and opacity animations are the workhorses. You’ll use them constantly.

Rotation works well for loading spinners, icon transformations, and playful interactions.

When adjusting opacity for fade animations, change the Layer opacity setting in the right sidebar, not the Fill opacity.

Limitations

  • Drop shadows and inner shadows default to dissolve transition
  • Shape morphing between different shapes not supported
  • Overlay actions don’t support Smart Animate between overlays
  • Texture and noise effects require duplicated frames for consistency

Can’t morph a circle into a square. Figma just doesn’t do shape morphing yet.

If you need complex shape animations, export to After Effects or use a plugin like Figmotion.

For web implementation, you might explore CSS keyframes or animating SVG with CSS for production-ready animations.

Layer Matching Rules

Figma matches layers by name and hierarchy position.

Rename layers using Ctrl+R (Windows) or Cmd+R (Mac) to ensure exact matches.

If a layer exists in destination but not origin, Figma dissolves it into view.

Step 8: How Do You Preview and Test Your Animation?

Open Presentation View to test the prototype with all animations active.

Click the Play button in the toolbar or press Ctrl+Alt+Enter (Windows) or Cmd+Option+Enter (Mac).

Action

  1. Click Play button (triangle icon) in top-right toolbar
  2. Prototype opens in new browser tab or Presentation View
  3. Interact with prototype using configured triggers
  4. Press Esc to exit Presentation View
  5. Return to Prototype tab to adjust timing or easing

Test on actual devices when possible. Animations feel different on mobile versus desktop.

Share prototypes with stakeholders using Figma’s share link. They don’t need a Figma account to view.

Learn how to share Figma prototype without account for easy stakeholder reviews.

Purpose

Testing reveals timing issues, unintended layer behavior, and refinement opportunities.

What looks good in the editor sometimes feels off in the actual prototype.

Verification

Confirm your animation works by checking these elements:

  • Layers animate in expected sequence and direction
  • Timing feels appropriate for interaction type
  • No layers disappear unexpectedly (check layer naming)
  • Easing curve matches intended movement feel
  • Animation plays smoothly without stuttering

Run through every interaction path. Edge cases break animations more often than happy paths.

If something feels off, trust your gut. Adjust duration by 50ms increments until it feels right.

Troubleshooting

Layers Do Not Animate, Only Dissolve

Cause: Layer names don’t match between frames or hierarchy differs.

Solution: Verify layer names match exactly. Check layer hierarchy is identical. Rename layers using Ctrl+R or Cmd+R.

Animation Feels Too Slow or Too Fast

Cause: Duration value doesn’t match interaction context.

Solution: Adjust Duration value. Standard interactions: 200-300ms. Larger transitions: 400-600ms.

Animation Plays in Wrong Direction

Cause: Connection arrow points wrong way or direction setting incorrect.

Solution: Delete connection, recreate from correct starting frame. Check direction dropdown for Move/Slide transitions.

Opacity Animation Not Working

Cause: Adjusting Fill opacity instead of Layer opacity.

Solution: Adjust Layer opacity in right sidebar, not Fill opacity. Set to 0% instead of toggling layer visibility.

Smart Animate Creates Unexpected Results

Cause: Layer hierarchy differences or new layers introduced.

Solution: Keep layer order identical between frames. New layers dissolve in; they can’t Smart Animate.

When exporting your finished animations, check out how to export gif from Figma for shareable animation files.

Related Processes

Continue building your Figma animation skills with these related guides:

For developers implementing these animations, understanding JavaScript animation libraries or Bootstrap animations helps translate Figma prototypes to production code.

If you’re designing for the web, consider how your Figma animations will translate to responsive design across different screen sizes.

FAQ on How To Animate In Figma

Can you do animations in Figma?

Yes. Figma supports prototype animations through its Prototype tab using transitions like Smart Animate, Dissolve, Move, Push, and Slide.

You create two frames with different states, connect them, and Figma animates the differences automatically.

What is Smart Animate in Figma?

Smart Animate is Figma’s feature that detects matching layers between frames and animates property changes like position, size, rotation, and opacity.

Layers must have identical names for Smart Animate to work correctly.

How do I trigger animations in Figma?

Select your prototype connection and choose a trigger from the Interaction details panel.

Options include On Click, On Hover, On Drag, After Delay, Mouse Enter, and While Pressing.

What properties can Smart Animate change?

Smart Animate supports position (X/Y coordinates), size (width/height), rotation, opacity, and fill color changes.

It doesn’t support shape morphing or drop shadow animations.

How long should Figma animations be?

Standard interactions work best at 200-300ms. Micro interactions like hover states need 100-200ms.

Larger screen transitions feel natural at 400-600ms. Anything over 600ms risks feeling sluggish.

Why isn’t my Smart Animate working?

Layer names don’t match between frames. Check spelling exactly, including capitalization and spaces.

Also verify the layer hierarchy is identical in both frames. Mismatched positions in the Layers panel break Smart Animate.

Can I create looping animations in Figma?

Yes. Connect your last frame back to the first frame using an After Delay trigger.

Set the delay duration and the animation loops continuously in Presentation View.

What easing should I use for animations?

Use Ease Out for elements entering the screen and Ease In for elements exiting.

Ease In and Out works for most standard transitions. Spring easing adds bounce for playful interfaces.

Can I export Figma animations as video?

Not directly. Figma doesn’t export video natively.

Use screen recording software to capture your prototype, or export to plugins like Figmotion or external tools like Jitter for GIF and MP4 exports.

How do I animate components in Figma?

Create component variants representing different states. Use interactive components with Change To actions.

The component animates between variant states when users interact with it in the prototype.

Conclusion

You now know how to animate in Figma using prototype connections, Smart Animate transitions, and custom easing curves.

The process is straightforward: create frames, match layer names, connect them in the Prototype tab, and configure your triggers.

Start with simple click animations before tackling complex interaction sequences.

Pay attention to duration values. 200-400ms covers most use cases.

Test everything in Presentation View. What looks right in the editor sometimes feels wrong in motion.

Figma’s animation tools won’t replace After Effects for complex motion graphics. But for interactive prototypes and user flow demonstrations, they’re more than enough.

Your stakeholders don’t need cinematic transitions. They need to understand how the product works.

Figma animations deliver exactly that.

Author

Bogdan Sandu specializes in web and graphic design, focusing on creating user-friendly websites, innovative UI kits, and unique fonts.Many of his resources are available on various design marketplaces. Over the years, he's worked with a range of clients and contributed to design publications like Designmodo, WebDesignerDepot, and Speckyboy, Slider Revolution among others.