Easingvawe After Effects eases
land
An entrance: it leaves fast and arrives on a long, soft stop.
land reaches 50% of its travel at 14% of the time and 90% at 49%. Its peak speed is 4.8x the average.
Live demo
The blue box uses the exact linear() string below, in your browser. The grey box is linear.
Your system asks for reduced motion, so the boxes rest at the end of the move.

Numbers
- 50% of travel
- 14%of the time
- 90% of travel
- 49%of the time
- After 10% of time
- 39.51%of the travel is done
- Peak speed
- 4.8xtimes the average
- Overshoot
- 0%stays inside the end
- Undershoot
- 0%never below the start
- linear() points
- 41at a 0.002 tolerance
- cubic-bezier
- exactbuilt from two handles
Copy the code
animation-timing-function: linear(0, 0.1162, 0.2217, 0.3146, 0.3951, 0.4645, 0.5245, 0.5766, 0.6223, 0.6625, 0.6981, 0.7298, 0.7582, 0.7836, 0.8066, 0.8273, 0.846, 0.863, 0.8784, 0.8924, 0.9051, 0.9166, 0.9271, 0.9366, 0.9452, 0.9529, 0.9599, 0.9662, 0.9718, 0.9768, 0.9812, 0.9851, 0.9884, 0.9913, 0.9937, 0.9957, 0.9973, 0.9985, 0.9994, 0.9998, 1);animation-timing-function: cubic-bezier(0.12, 0.576, 0.25, 1);This ease is a cubic bezier by construction: the two After Effects handles are its two control points. The site ships the linear() string above because it is what the renderer and EASE.land use.
el.animate({ translate: ['0 0', '240px 0'] }, { duration: 600, easing: 'linear(0, 0.1162, 0.2217, 0.3146, 0.3951, 0.4645, 0.5245, 0.5766, 0.6223, 0.6625, 0.6981, 0.7298, 0.7582, 0.7836, 0.8066, 0.8273, 0.846, 0.863, 0.8784, 0.8924, 0.9051, 0.9166, 0.9271, 0.9366, 0.9452, 0.9529, 0.9599, 0.9662, 0.9718, 0.9768, 0.9812, 0.9851, 0.9884, 0.9913, 0.9937, 0.9957, 0.9973, 0.9985, 0.9994, 0.9998, 1)', fill: 'both' });import { EASE } from '../../core/motion/presets.js';
el.animate(
[{ translate: '0 4vh', opacity: 0 }, { translate: '0 0', opacity: 1 }],
{ duration: 500, easing: EASE.land, fill: 'both' },
);
// per-frame code (window.seek, vawe.onFrame): easeFn('land')(u)After Effects handles
One segment between two keys has two handles. In After Effects, open Keyframe Velocity on each key: the outgoing handle belongs to the first key and the incoming handle to the second. Influence is how far along the segment the handle reaches, in per cent of its duration. Speed is the pace at the key as a multiple of the segment's average (0 stops dead, 1 is straight).
| Handle | Name | Influence | Speed | Real handles near it |
|---|---|---|---|---|
| out (first key) | fling | 12% | 4.8x | 0.37% |
| in (second key) | hang | 75% | 0x | 9.82% |
Measured on 1,339 real segments (2,678 handles) from Lottie files and 27 from HyperFrames blocks. Near means influence within 10 points and speed within 0.3 (25% above 1x). Both handles together: 2 segments (0.15%), 0.32% of the 616 entrances and 0% of the 57 exits.
import { keys } from '../../core/motion/presets.js';
// out handle on the first key, in handle on the second
keys(el, 'translate', [
[0, '0 6vh', { out: 'fling' }],
[0.6, '0 0', { in: 'hang' }],
]);When to use it, and when to avoid it
Use it for
- Entrances of titles, cards and panels from 0.4 to 0.9 s. It is the default of enter().
- A move that must read as arriving: the eye catches the fast start and rests on the stop.
Avoid it for
- Moves under 0.4 s: the first frame jumps about a quarter of the way. Use land-soft there.
- Exits and loops. It ends on a dead stop and starts at full speed, so it does not chain.
Related eases
Moves that use land
57 of the library's motion moves set EASE.land in their snippet.
- Match cut
- Strikethrough replace
- Card assemble
- Split-flap resolve
- Logo sting
- Ticker takeover
- AI stream response
- Caption editorial
- Caption karaoke
- Chain beats
- Chart build
- Count up
- Cursor click
- Exits faster than entrances
- Integration hub
- Lower third
- Shape trace morph
- Success check
- Text on path
- UI strip away
- Underline draw
- Variable weight wave
- Blur word cascade
- Calm lockup
- Caret typing
- Clip expand from a point
- Colour block wipe
- Crash zoom
- Flash cut
- Grid stagger wave
- Iris wipe
- Per-letter stagger
- Light leak transition
- Liquid displace
- Liquid wipe
- Logo wall
- Mark trace
- Mask rise
- Notification pop
- Outline fill
- Overwhelm collapse
- Parallax dive
- Pull back reveal
- Push with directional blur
- Push in
- Shape morph wipe
- Skeleton reveal
- Slice shift
- Split reveal
- Stack cover
- Text as mask
- Text scramble decode
- Thanks sweep
- Tracking collapse
- Type fill transition
- Weight morph
- Word colour sweep