Motion System
A motion system is a set of shared tokens that govern every animation in a product. Three to five durations and three to five easings live alongside color and type tokens in the design system. The concept exists because freehand motion drifts the moment more than three designers touch the file. Without it every new hire adds their own opinion until the product feels schizophrenic.
A motion system is not a style guide PDF no one reads. It is not ten different spring curves for ten different vibes. Common confusion is thinking consistency means boring. The opposite is true. Tight constraints force better creative decisions. Teams without a system ship one screen with bouncy springs and the next with robotic linear moves. Users feel the inconsistency even if they cannot name it.
Figma's 2025 config system shows the bar. They defined motion.short at 120 milliseconds, motion.medium at 240, and motion.long at 420. Three easing tokens handle enter, exit, and standard moves. Every new component must pull from these or file a written exception. The result is a product that feels like one brain even as the team scales to forty people. Contrast that with most Series B SaaS products where motion still lives in individual prototype files. The drift is obvious by the fourth release.
Ramp's expense dashboard uses their motion tokens religiously. A saved receipt card shrinks toward the bottom nav using motion.medium and ease.standard. The same values appear in their mobile pull to refresh. Users develop muscle memory because the behavior layer stays coherent. These teams document the tokens in one place next to their semantic color palette. New hires absorb the system in a single afternoon instead of guessing for months.
Build a motion system when your product has more than five screens or more than two working designers. Start with the duration table from the 2026 principles then name the tokens. Enforce them in code review and component libraries. Do not build one for a pure marketing site where each section can have its own personality. The tradeoff is flexibility. Tokens kill one off creative flourishes that sometimes delight. They also prevent the slow entropy that turns polished products into noisy toys by version three.
Motion tokens belong in the same layer as your radius scale and font stack. Name them motion.duration.short, motion.ease.enter, motion.ease.exit. Ship them as CSS variables and Tailwind presets. The discipline feels painful in month one. By month six the entire team stops arguing about timing in every critique. That silence is the sound of a mature product.
Review every new animation against the system. If it does not fit refactor it or reject it. Teams that allow permanent exceptions watch their motion layer fragment within a year. The system is not optional in 2026. Browser tools make inconsistent motion more obvious than ever. Users on mid range Android devices feel every layout thrash caused by drifting values.
The best motion systems leave room for one wildcard token used only after explicit review. That single pressure valve prevents designers from going rogue while still allowing controlled surprise in key flows like onboarding or payment success. Use the wildcard too often and it stops being special.
Motion systems separate teams that treat animation as craft from teams that treat it as infrastructure. The former ship reels. The latter ship products that feel coherent at scale. Pick which one you want to be.
A motion system is the tax you pay to keep your behavior layer from rotting. Pay it early or pay it forever in polish and user frustration.
Read the full guide
Related terms
Keep exploring
Design Tokens
The atomic design values (colors, spacing, typography, shadows, motion) stored as platform-agnostic variables that every component in a design system references.
Semantic Tokens
Design tokens that assign meaning to raw values. Instead of referencing color-blue-500 directly, components reference color-primary, which resolves to the appropriate raw value.
Component Library
A collection of reusable UI elements (buttons, inputs, cards, modals) built from design tokens and documented with usage guidelines. One layer of a design system, not the whole thing.