What this tool does
Motion is part of a product’s voice, but it is easy to specify vaguely. This generator produces a concrete UI animation concept: a named transition type, a duration in milliseconds, an easing curve, and the narrative purpose the motion serves. It is tuned to the interface context you pick, so a button concept stays snappy while a page transition gets more room to breathe.
How it works
The generator pairs your chosen context with a realistic specification. Transition types (such as fade, slide, scale, or a combined fade-and-slide) are matched to durations and easing curves that are known to feel right for that context. For example, micro-interactions get short durations with ease-out curves, while page transitions get longer durations with ease-in-out. The output includes the actual cubic-bezier or named easing value so developers can drop it straight into CSS. Everything runs locally in your browser.
Tips and examples
- Use ease-out for elements entering the screen and ease-in for elements leaving; this matches how things feel in the physical world.
- Keep durations short. If an animation feels slow, halve the duration before changing anything else.
- Animate
transformandopacityrather than layout properties likewidthortop, because those two are GPU-accelerated and avoid layout thrashing. - Always wrap non-essential motion in a
prefers-reduced-motionmedia query so motion-sensitive users get a calm experience.