Comprehensive motion tokens including easing curves and duration presets for consistent, expressive animations across your application.
Emphasized300msMaterial Design 3 motion creates a unified, expressive feel:
Duration tokens are organized into categories: Short (50-200ms), Medium (250-400ms), Long (450-600ms), and Extra Long (700-1000ms).
Emphasized
For important movements
Emphasized Decelerate
Elements entering
Emphasized Accelerate
Elements exiting
Standard
Standard transitions
Standard Decelerate
Incoming elements
Standard Accelerate
Outgoing elements
Users who experience motion sickness or vestibular disorders can enable prefers-reduced-motion in their OS settings. Your app should respect this preference by replacing motion-heavy transitions with instant or fade-only alternatives.
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}const prefersReduced = window.matchMedia( '(prefers-reduced-motion: reduce)' ).matches;
cubic-bezier(0.2, 0, 0, 1.0)Primary expressive motion (enter+exit combined)
cubic-bezier(0.05, 0.7, 0.1, 1.0)Elements entering the screen
cubic-bezier(0.3, 0, 0.8, 0.15)Elements leaving the screen
cubic-bezier(0.2, 0, 0, 1.0)Most common transitions
cubic-bezier(0, 0, 0, 1.0)Enter transitions (standard)
cubic-bezier(0.3, 0, 1.0, 1.0)Exit transitions (standard)
50msMicro: ripple start
100msSmall icon transitions
150msSmall state changes
200msCheckbox/radio/switch
250msSmall expand/collapse
300msNavigation transitions
350msMedium expand
400msStandard component transition
450msLarge expand
500msComplex component transition
550msRoute/page transitions
600msFull-page transitions
700msLarge hero transitions
800msStaggered animation groups
900msComplex orchestrations
1000msMaximum transition time
transition: all 300ms cubic-bezier(0.2, 0, 0, 1.0)