Tutorials

CSS 'animation-timing-function' Property Explained

  • Published
  • 2 min read
  • CSS
  • HTML
  • Web Design
CSS 'animation-timing-function' Property
In this article
  1. CSS 'animation-timing-function' Property Example
  2. Browser Support For 'animation-timing-function' Property
  3. CSS Syntax of the 'animation-timing-function' Property
  4. Usage of the 'animation-timing-function' Property
  5. Property Values of the 'animation-timing-function' Property

Corrected . The browser-support table was rebuilt from MDN browser-compat-data (unprefixed support, desktop browsers), checked 3 October 2026. Editorial approval is still pending.

The CSS 'animation-timing-function' property specifies the speed curve of an animation, defining how an animation progresses over its duration. This property controls the acceleration and deceleration of the animation, making it possible to create more natural and visually appealing movements by adjusting the pacing between the animation's start and end points.

CSS 'animation-timing-function' Property Example

See the Pen CSS 'animation-timing-function' Property by Webzstore (@webzstore) on CodePen.

The 'animation-timing-function' property is essential for creating engaging and dynamic animations. It offers a wide range of options to tailor the speed and pacing of CSS animations. By understanding and applying different timing functions, developers can significantly enhance the user experience of web interfaces.

Browser Support For 'animation-timing-function' Property

Unprefixed support for the animation-timing-function property (selected supported implementation, desktop browsers)
BrowserVersionReleased
Chrome43May 2015
Edge12Jul 2015
Firefox16Oct 2012
Safari9Sep 2015
Opera30Jun 2015

Source: MDN browser-compat-data 8.1.4, checked 3 October 2026. Prefixed support and implementations that were later removed are not counted, and some browsers list partial support or extra values. See the MDN reference for animation-timing-function for the full compatibility details, including mobile browsers.

CSS Syntax of the 'animation-timing-function' Property

animation-timing-function: ease|ease-in|ease-out|ease-in-out|linear|step-start|step-end|steps(int,start|end)|cubic-bezier(n,n,n,n);

Usage of the 'animation-timing-function' Property

Use 'animation-timing-function' to customize the pacing of your animations. This property enhances the realism and sophistication of animations, allowing for more engaging and dynamic interactions. It's useful for simulating physical phenomena, like easing in (slow start), easing out (slow end), or both.

Property Values of the 'animation-timing-function' Property

  • Ease: The default value. The animation starts slowly, accelerates in the middle, and slows down at the end.
  • Ease-in: The animation starts slowly and then accelerates.
  • Ease-out: The animation starts at full speed and then decelerates.
  • Ease-in-out: The animation starts and ends slowly, with acceleration in the middle.
  • Linear: The animation maintains a constant speed from start to end.
  • Step-start: The animation jumps to the end value at the start.
  • Step-end: The animation jumps to the end value at the end.
  • Steps(int, start | end): This parameter splits the animation into a specific number of steps. The second parameter (start or end) specifies when the change to the new value occurs within each step.
  • Cubic-bezier(n, n, n, n): Defines a custom cubic Bezier curve. The four values specify the curve's control points, allowing for precise control over the timing function.

Share this article

Written by

Webzstore Team

Webzstore has helped businesses since 2010. Today, we bring websites, digital marketing and enquiry follow-up into practical plans built around the work each business needs.

Related services

Talk about your website or marketing

Book a Free 30-Minute Call

More tutorials

All tutorials

Privacy choices

Choose what this website may load. Your choice is saved on this device for up to 180 days. Privacy Policy

Turning a choice off stops further use of that optional service on this site. It does not take back information already sent, and we cannot delete cookies that other services set in your browser.