Duration and easing: the numbers behind motion that feels right.

The same animation feels cheap at 800ms linear and right at 300ms ease-out. The durations, curves and staggers we actually use.

Category
Motion
Read time
3 minutes
Published
Written by
Verdikt Studio

The short verdict

  • Most motion that feels wrong is too slow, too linear or too uniform.
  • A small set of durations and two or three easing curves cover almost everything.
  • Size and distance should change the timing: bigger moves take a little longer.

01Why the numbers matter

Two sites can use the same animation, a card sliding up as it enters, and feel completely different. One feels considered, the other cheap. Usually the difference is two numbers: how long it takes, and how its speed changes over that time. Generated sites often use one duration and one default curve for everything, which is why everything feels the same.

02Durations that work

What movesTypical duration
Button press, toggle80 to 120ms
Hover, focus, small colour changes150 to 250ms
Dropdowns, tooltips, small panels200 to 300ms
Elements entering on scroll400 to 700ms
Page transitions, large panels300 to 500ms
Hero sequences, signature moments800ms to 1.5s in total

Interface feedback should be fast because people are waiting on it. Scroll reveals can be slower because nobody is waiting, but past about 800 milliseconds content starts to feel like it is arriving late.

03Easing, in plain terms

Easing is how speed changes during the movement. Real objects do not start or stop instantly, so linear motion, constant speed throughout, looks mechanical for anything except progress bars and loops.

  • Ease-out starts fast and slows down. Right for things entering the screen or responding to a user. It feels quick because the movement happens early. GSAP’s power2.out and power3.out are good defaults.
  • Ease-in starts slow and speeds up. Right for things leaving, briefly. On entrances it feels sluggish.
  • Ease-in-out slow, fast, slow. Right for things moving from one place to another on screen, like a slider changing position.
  • Back or elastic overshoots and settles. Fun in small doses, tiring everywhere.

04Stagger and distance

When several items enter together, a small delay between each one, 50 to 100 milliseconds, makes the group read as a sequence. More than that and the last item arrives too late. Cap the total, so a list of twenty does not take two seconds.

Distance should be modest. Elements rising 20 to 40 pixels as they fade in feel natural. A full screen-height fly-in feels like a slideshow. Bigger elements can travel a little further and take a little longer, because they carry more visual weight.

“Fast in, gentle landing. Most good motion is that sentence, repeated with care.”

The short version

05Make it a system

Pick three durations, say fast, medium and slow, and two or three curves. Name them, store them as variables, and use nothing else. When every animation on the site draws from the same set, the motion feels like one hand made it, the same way a type scale makes text feel consistent. When a new animation is added, the question is which of the existing values fits, not what new numbers to invent.

06Tune by feel, check by numbers

Start with the values above, then watch the animation at full speed, several times, on a real device. If it draws attention to itself, make it shorter or smaller. If you barely notice it but the page feels smoother, it is probably right.

07Questions people ask

Are there official guidelines for animation timing?

Design systems like Material Design publish recommended durations and curves. They are a good reference, and broadly match the ranges here.

Why does my scroll animation feel slow even at 600ms?

Probably the easing. A linear or ease-in-out curve at 600ms feels slower than ease-out at the same length.

Should mobile animations be faster?

Often slightly shorter, since distances on a small screen are smaller. Keep the same curves so it feels like the same site.

Can you tune the motion on my site?

Yes. Send us the link and we will tell you which numbers we would change.

Send the site

Get the Verdict

Received

Thanks, we’ve got your site. We’ll take a look and get back to you soon.

Didn’t go through. Try again, or email [email protected]