Export and share · EaseKit for Figma plugin
Documentation

EaseKit for Figma plugin

Rebuild your states and key moments in Figma as real frames, connected with Smart Animate and your easing curves.

The EaseKit Figma plugin, EaseKit — Prototype from motion, turns a scene into a clickable Figma prototype. Every state, variant switch and timeline key moment becomes a real Figma frame with editable layers, and the plugin connects the frames with Smart Animate using your triggers, durations and easing curves, springs included.

Send a scene to Figma

  1. In EaseKit, choose Edit → Copy for Figma Plugin. The toast says how many frames and transitions went to the clipboard.
  2. In Figma, run Plugins → EaseKit — Prototype from motion.
  3. Paste into the plugin (⌘V). It shows the scene's name and what it holds, for example “3 states, 4 connections”.
  4. Pick the options (below) and click Create prototype.
  5. The plugin says what it made, for example “Created 4 frames, 6 prototype connections”, selects it and adds a flow starting point. Press Present in Figma to try it.

Send it again after changes

Run the plugin again on the same scene (same name) and it updates what it made last time instead of adding a copy: the frames or the component set keep their place on the canvas, even where you moved them, frames the scene no longer has are removed and new ones join next to the others. The summary says so, for example “Updated 4 frames (1 new), 6 prototype connections”. Edits you made inside those frames are replaced; duplicate a frame first to keep a version of your own.

Other ways in

  • A file. Render → Figma Plugin (“Frames + prototype connections”) saves a .easekit-figma file. Drop it on the plugin window or click Choose file….
  • The Code tab. The Figma plugin view shows the same document; Copy and Save… work as for the other formats.
  • A share link. Paste an easekit.app/s/… link and click Open link. This works for links shared with Allow viewers to download the project; see Share links.
  • From Claude. The MCP tool export_figma_prototype returns the document, or saves it with path. See the MCP tools reference.

Options

OptionWhat it does
Build as: FramesOne top-level frame per moment, connected with Navigate to (default)
Build as: Component setOne component set with a State variant per moment, connected with Change to, plus a frame holding an instance to present
Place at viewport centerPuts the new frames in the middle of your view. Off: to the right of what's already on the page
Include timeline momentsAdds the row of timeline moments next to the states. Only shown when the scene has both

What you get

  • States first. Default, then every state and variant switch the triggers can reach, each at rest. At most 16.
  • Then the timeline. A frame at each key moment (where movements start and stop), named like “Moment 2 – 0.40s”, on a row below. Pauses between movements become delays. At most 12.
  • Matching layer names. Every layer is named by its EaseKit layer id, the same in every frame, so Smart Animate pairs them up. Instances are expanded, their layers named like card/title.
  • Real layers. Frames with Auto Layout where the scene has it (a group's background becomes the frame's own fill, radius and shadow), rectangles with independent corners and corner smoothing, ellipses, vectors, text in its font, image fills, gradients, strokes, shadows and blurs.

Triggers and easing

In EaseKitIn Figma
TapOn click
Hover, with Hover end going backWhile hovering
Press, with Release going backWhile pressing
Hover, Hover end, Press or Release on their ownMouse enter, Mouse leave, Mouse down, Mouse up
DragOn drag
Load, and timeline momentsAfter delay (the pause before a movement is the delay)
Cubic-bezier curves (ease-out, drawer, custom …)Custom bezier with the same control points; linear stays linear
SpringsFigma's Gentle, Quick, Bouncy or Slow when they match, otherwise a custom spring with the same mass, stiffness and damping

Triggers on a layer sit on that layer in the frame; after-delay triggers sit on the frame. Durations are the transition's own, or the time between two moments.

What isn't kept

  • Play, pause and reverse triggers and scroll triggers: prototypes don't have them. Timeline moments advance on their own instead.
  • Per-character text animation, trimmed strokes, motion blur, fade masks, color adjustments, 3D tilt and camera moves show as they look at each moment, or are left out.
  • SF Symbols become placeholder dots with the layer's name, ready to swap for your icon. Fonts Figma doesn't have fall back to Inter.
  • Videos show their poster frame. Pictures in other formats than PNG, JPEG and GIF show as grey placeholders.

Privacy

The plugin works inside Figma. It never sees your Figma token, which stays in your Mac's Keychain for Import from Figma. Its only network request is Open link, to www.easekit.app, for the share link you pasted; nothing from your Figma file is sent anywhere.

Troubleshooting

If this happensTry this
“That isn't JSON”Copy again with Edit → Copy for Figma Plugin. Copy as SVG and Copy Frames for Figma… are for pasting on the Figma canvas, not into the plugin.
“That's EaseKit's scene JSON”That's the JSON export. Use Copy for Figma Plugin or the Figma plugin view in the Code tab.
“This link doesn't allow downloads”Share the animation again with Allow viewers to download the project, or copy it from EaseKit.
“This link was shared from an older EaseKit”Share it again from the current EaseKit, or use Copy for Figma Plugin.
A font looks differentFigma didn't have it; Inter stands in. Install the font and change it in Figma, the layer names stay the same.
Smart Animate jumps instead of movingRename layers only in every frame at once: Smart Animate matches layers by name.