verve vs Jitter
Motion graphics exported as video, GIF or Lottie, versus code that animates your own component.
What Jitter is
Jitter is a motion design tool in the browser, built for creative teams. You bring in a design, often straight from Figma, animate its layers on a timeline, and export the result as a video (MP4, MOV or WebM), a GIF or a Lottie file. Teams use it for social posts, ads, feature reveals and logo animations, and there are hundreds of templates to start from.
Use Jitter, not verve, if
- The animation is going somewhere code can't run, like a social post, an ad, an email or a slide deck. A video or a GIF is the right thing to hand over there.
- It's motion graphics rather than part of an interface, like a launch video or a logo reveal.
- You're starting from a design and nothing's been built in code yet. Jitter takes layers straight from Figma.
- Your team makes lots of versions of the same piece, in different sizes or languages. Jitter has templates and batch tools for exactly that.
Use verve if
- The animation is part of a working interface, like a menu that opens or a button that reacts when you press it. A video of a button can't be pressed.
- Text should stay text, so screen readers and translation still work.
- It has to fit whatever space the layout gives it, at any width and in either theme.
- You'd rather ship a stylesheet than a video file.
Side by side
| What | Jitter | verve |
|---|---|---|
| What you leave with | A video (MP4, MOV or WebM), a GIF or a Lottie file | Motion, GSAP or CSS source, in your own files |
| What ships in your bundle | The video or GIF, or a Lottie player and its JSON | Motion or GSAP if you export those; nothing at all for CSS |
| What gets animated | Your design, rendered into frames or drawn by a Lottie player | Your own DOM, with its markup and styles |
| Text | Part of the picture | Your real elements, so text stays text |
| Handing it to a developer | A Lottie file, or an easing curve copied as CSS | The whole animation, as code |
| Where it plays | Anywhere a video or GIF plays, including social posts, email and slides | The web |
What you end up writing
Jitter's MP4 on a web page — the animation is the video
export function FeatureReveal() {
return (
<video
src="/feature-reveal.mp4"
autoPlay
muted
loop
playsInline
/>
);
}verve's CSS export for a badge entrance, with nothing to install
.badge {
animation:
badge-transform 600ms 0ms both,
badge-opacity 300ms 0ms both;
}
@keyframes badge-transform {
0% {
transform: translate3d(0px, 16px, 0);
animation-timing-function: linear(0, 0.004 1%, 0.026 2.5%, 0.062 4%, 0.108 5.5%, 0.202 8%, 0.455 14%, 0.574 17%, 0.681 20%, 0.758 22.5%, 0.823 25%, 0.887 28%, 0.936 31%, 0.973 34%, 0.998 37%, 1.015 40%, 1.025 43.5%, 1.03 47.5%, 1.028 53%, 1.003 76.5%, 1);
}
100% {
transform: translate3d(0px, 0px, 0);
}
}
@keyframes badge-opacity {
0% {
opacity: 0;
animation-timing-function: ease-out;
}
100% {
opacity: 1;
}
}Check it yourself
Every claim above about Jitter is answerable from their own documentation. If one of them goes out of date, it is a bug on this page and we would like to know.