Mar 19, 2025

Introducing Motion for Vue

Matt Perry

At 9am this morning I had the privilege of closing our oldest open ticket, one that's haunted the issues board since the days of Framer Motion, all the way back in February 2020.

It was titled "[FEATURE] Vue support?"

Yes, today I'm thrilled to finally announce Motion for Vue. An animation library that's simple to start and fun to master, its unique hybrid engine combining the performance of hardware accelerated browser APIs with the limitless potential of JavaScript.

How does it compare to Motion for React?

Thanks to the incredible efforts of our resident Motion and Vue expert Rick Hup, Motion for Vue is a feature complete port of Motion for React. This means springs, motion values, scroll animations and most excitingly, layout animations, are all here on day one.

Its declarative <motion /> API will be immediately familiar to Motion fans, except now with a Vue twist.

<template>
  <motion.div
    :initial="{ opacity: 0, scale: 0 }"
    :animate="{ opacity: 1, scale: 1 }"
  />
</template>

All the motion props you love are here, like gesture animation props whileHover, whilePress and whileInView.

<template>
  <motion.div :whileHover="{ scale: 1.1 }" :whilePress="{ scale: 0.9 }" />
</template>

I suspect the biggest reason people have been asking for Motion in Vue is for its powerful layout animations engine that drives complex layout animations across thousands of React and Framer websites. Well, it's here too!

<motion.div
  v-if="item.label === selectedTab.label"
  layout-id="underline"
/>

Motion+ for Vue

That's not all. Since taking Framer Motion independent, I've been building Motion+ to fund Motion development. It's a one-time fee, lifetime membership that unlocks the source code to premium examples, grants access to exclusive components, an invite to our private Discord, early access to new APIs, and more besides.

All of these Motion+ examples have been ported to Vue, like this App Store demo:

That includes a whole suite of Radix integration demos.

Our exclusive Motion+ components Cursor and AnimateNumber are also out now:

Get started

I'm super excited to invite Vue developers to the Motion community! People have already been making incredible interfaces with Vue and Motion with the vanilla JS API so I can't wait to see what people make with this.

Motion for Vue is available now via the motion-v package on npm, and you can learn how to make your first animation with our quick start guide. Or get stuck straight into code with our Motion for Vue Examples.

Read more

Revealed: React's experimental animations API

React is experimenting with a new animation API based on the View Transition API. How does it work? What can it do? We reveal all in this blog post.

React is experimenting with a new animation API based on the View Transition API. How does it work? What can it do? We reveal all in this blog post.

How to add cmd-k search shortcut to your Framer site

By default, the Framer Search component doesn't support the cmd-k keyboard shortcut. Here's how to add it to your Framer site.

By default, the Framer Search component doesn't support the cmd-k keyboard shortcut. Here's how to add it to your Framer site.

Framer Motion is now independent, introducing Motion

Framer Motion is now independent. Introducing Motion, a new animation library for React and all JavaScript environments. Here's what it means for you.

Framer Motion is now independent. Introducing Motion, a new animation library for React and all JavaScript environments. Here's what it means for you.

Do you still need Framer Motion?

In the five years since Framer Motion was released, CSS animation APIs have come a long way. Do you still need to use Framer Motion?

In the five years since Framer Motion was released, CSS animation APIs have come a long way. Do you still need to use Framer Motion?

When browsers throttle requestAnimationFrame

In specific situations Safari and Firefox may throttle requestAnimationFrame. Here’s why your JavaScript animations are janky.

In specific situations Safari and Firefox may throttle requestAnimationFrame. Here’s why your JavaScript animations are janky.

Motion is made possible thanks to our amazing sponsors.

Stay in the loop

Subscribe for the latest news & updates.

Stay in the loop

Subscribe for the latest news & updates.

Stay in the loop

Subscribe for the latest news & updates.