Skip to main content
LittleJohnny_Zhou
New Participant
August 18, 2026
Question

Motion Path API for Position Animation in Figma Motion

  • August 18, 2026
  • 10 replies
  • 150 views

Hi Figma team,

I’m developing a plugin and would like to ask whether Figma plans to expose an API for a node’s motion path trajectory, or whether there is already any supported way to read that data.

In the Motion UI, after creating a position animation, users can edit the movement path much like editing a regular curve, which makes more complex path-based motion possible. When I tried to reproduce this behavior in a plugin, I found that I could read timing/easing-related data, but I could not find the key data that defines the spatial trajectory itself.

If this data is not currently exposed, it becomes a major limitation for exporting or translating Figma Motion animations into mainstream web animation ecosystems such as Lottie, SVG, PAG, and similar formats, because path-based movement cannot be reconstructed accurately.

Could you clarify:

  1. Whether motion path / trajectory data is currently available through the Plugin API in any form
  2. Whether there is any recommended workaround to access or reconstruct it
  3. Whether exposing this data is on the roadmap

Thanks.

10 replies

Jaycee Lewis
Figmate
Figmate
August 18, 2026

Hey hey ​@LittleJohnny_Zhou 👋 Thanks for the great question and feedback. I’d like to share this with the Motion team. I had a few questions to give more context:

  • When you inspect the track, are you reading the combined TRANSLATION_XY or the split TRANSLATION_X / TRANSLATION_Y? And are you seeing the anchor positions come through fine, with only the curve data missing — or are the positions themselves not what you expect? 
  • Have you tried any of the export paths yet, rather than the Plugin API — the Motion tab in Dev Mode under Code or the MCP server's get_motion_context? If so, which ones, and did the curve survive in any of them?

Thanks! — Jaycee

LittleJohnny_Zhou
New Participant
August 19, 2026

 

Hi ​@Jaycee Lewis , thanks for the follow-up — I did a bit more testing.
In the Plugin API, I’ve mainly been inspecting the combined TRANSLATION_XY track. The anchor / keyframe positions themselves do come through correctly, and the timing / easing data is also readable. The missing part seems to be the spatial trajectory data between those keyframes — specifically the editable motion-path geometry that is visible in the Motion UI.
I also checked another export path: the Motion code from Dev Mode. There, the position animation is exposed as split motionTranslationX and motionTranslationY keyframes, and again I can see the keyframe times, position values, and easing data. But I still could not find any explicit path handle / trajectory curve data there either.
So from what I can tell so far:
The keyframe positions are available
The easing / timing data is available
The editable motion-path geometry itself does not appear to be exposed in either the Plugin API or the Dev Mode Motion code output
I haven’t yet verified get_motion_context, but based on the two paths above, the missing piece seems specifically to be the spatial path data rather than the keyframe positions.
If helpful, I can also provide a minimal test case showing a position animation whose visible path in the Motion UI cannot be reconstructed from the currently exposed data.

Jaycee Lewis
Figmate
Figmate
August 19, 2026

Hey, ​@LittleJohnny_Zhou 👋 This is all fantastic feedback. For the repro file, can you invite support-share@figma.com as a viewer, please? Add it won't affect your billing or take a seat. You can DM me the file link and I’ll add it to my internal post. 

One last question (maybe 😉) — when you pulled the Motion code from Dev Mode, which format were you on — CSS, React, or JSON? I want to reproduce on exactly the same path you did before I write this up, so any detail on what you were seeing in that output would help. 

Thanks! — Jaycee

 

New Participant
August 19, 2026

Interesting finding. It looks like the keyframe and easing data are available, but the actual motion path geometry is still missing. Hopefully Figma exposes that part of the API in the future.

Jaycee Lewis
Figmate
Figmate
August 19, 2026

I added you as another signal ​@matthewscott 🙌 Hey ​@LittleJohnny_Zhou the team asked if you were able to share the file to the support address I added above. Thanks to both of you! — Jaycee

LittleJohnny_Zhou
New Participant
August 20, 2026

I added you as another signal ​@matthewscott 🙌 Hey ​@LittleJohnny_Zhou the team asked if you were able to share the file to the support address I added above. Thanks to both of you! — Jaycee

I have sent a Motion test file to support-share@figma.com via email.

I exported JSON data in Dev mode.

Also, I tried sending you a private message but for some reason it says "This value is too long. It should have 10000 characters or less."

LittleJohnny_Zhou
New Participant
August 20, 2026

I added you as another signal ​@matthewscott 🙌 Hey ​@LittleJohnny_Zhou the team asked if you were able to share the file to the support address I added above. Thanks to both of you! — Jaycee

I'm not sure why the email didn't seem to be delivered correctly. Here's the link to the test file:

https://www.figma.com/design/tPAwsK2Z0bIhPYfaZdcYsv/MotionTest?node-id=0-1&t=GIYLGeEAdkjsKj3S-1

Also, as a more intuitive reference, the problem I'm discussing is precisely the curve animation discussed in this topic:
 

This curve animation's trajectory cannot be obtained in the plugin API; only keyframe coordinates can be obtained. When I try to convert the Figma Motion animation to SVG animation, in SVG, only linear motion can occur between keyframes.

Celyn_L
Figmate
Figmate
August 20, 2026

Hi ​@LittleJohnny_Zhou, Celyn here stepping in for ​@Jaycee Lewis.

Thanks for sharing the test file and the additional context! I’ve passed these details along to the team.

Just to clarify, rather than emailing the file to support-share@figma.com, could you please share the Figma file directly with that address and grant Can View access?

To do this:

  1. Open the affected Figma file and click Share in the top-right corner.
  2. Enter support-share@figma.com.
  3. Set the permission to Can view.
  4. Click Invite.

Once that’s done, our team will be able to access the file and take a closer look. Thanks again for your help!

LittleJohnny_Zhou
New Participant
August 24, 2026

Hi ​@Celyn_L , I have sent multiple invitations to support-share@figma.com, but it seems they still haven't been accepted.

 

Jaycee Lewis
Figmate
Figmate
August 24, 2026

Hey ​@LittleJohnny_Zhou 👋 I’ll reach out directly to the team that asked for the file access and let them know you sent it. Talk soon! — Jaycee