This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.


The animation-direction CSS property indicates whether the animation should play in reverse on alternate cycles.

It is often convenient to use the shorthand property animation to set all animation properties at once.

Initial valuenormal
Applies toall elements, ::before and ::after pseudo-elements
Computed valueas specified
Canonical orderthe unique non-ambiguous order defined by the formal grammar


/* Single animation */
animation-direction: normal;
animation-direction: reverse;
animation-direction: alternate;
animation-direction: alternate-reverse;

/* Multiple animations */
animation-direction: normal, reverse;
animation-direction: alternate, reverse, normal;

/* Global values */
animation-direction: inherit;
animation-direction: initial;
animation-direction: unset;


The animation should play forward each cycle. In other words, each time the animation cycles, the animation will reset to the beginning state and start over again. This is the default animation direction setting.
The animation plays backward each cycle. Each time the animation cycles, the animation resets to the end state and starts over again.
The animation should reverse direction each cycle. When playing in reverse, the animation steps are performed backward. In addition, timing functions are also reversed; for example, an ease-in animation is replaced with an ease-out animation when played in reverse. The count to determine if it is an even or an odd iteration starts at one.
The animation plays backward on the first play-through, then forward on the next, then continues to alternate. The count to determinate if it is an even or an odd iteration starts at one.

Formal syntax


<single-animation-direction> = normal | reverse | alternate | alternate-reverse


See CSS animations for examples.


Specification Status Comment
CSS Animations
The definition of 'animation-direction' in that specification.
Working Draft Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support (Yes)-webkit
5.0 (5.0)-moz
16.0 (16.0)[1]
10 12-o
reverse 19 16.0 (16.0) 10 (Yes) (Yes)
alternate-reverse 19 16.0 (16.0) 10 (Yes) (Yes)
Feature Android Android Webview Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support ? ? 5.0 (5.0)-moz
16.0 (16.0)[1]
? ? ? (Yes)-webkit
reverse No support ? 16.0 (16.0) ? ? No support (Yes)-webkit
alternate-reverse ? ? 16.0 (16.0) ? ? ? (Yes)-webkit

[1] In addition to the unprefixed support, Gecko 44.0 (Firefox 44.0 / Thunderbird 44.0 / SeaMonkey 2.41) added support for a -webkit prefixed version of the property for web compatibility reasons behind the preference layout.css.prefixes.webkit, defaulting to false. Since Gecko 49.0 (Firefox 49.0 / Thunderbird 49.0 / SeaMonkey 2.46) the preference defaults to true.

See also