This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The DocumentTimeline interface of the Web Animations API represents animation timelines, including the default document timeline (accessed via Document.timeline).


Creates a new DocumentTimeline object associated with the active document of the current browsing context.


This interface inherits its property from its parent, AnimationTimeline.

Returns the time value in milliseconds for this timeline or null if it is inactive.


We could share a single documentTimeline among multiple animations, thus allowing us to manipulate just that group of animations via their shared timeline. This bit of code would start all the cats animating 500 milliseconds into their animations:

const cats = document.querySelectorAll('.sharedTimelineCat');
const sharedTimeline = new DocumentTimeline({ originTime: 500 });

for (const cat of cats) {
  const catKeyframes = new KeyframeEffect(cat, keyframes, timing);
  const catAnimation = new Animation(catKeyframes, sharedTimeline);;


Specification Status Comment
Web Animations
The definition of 'DocumentTimeline' in that specification.
Working Draft Editor's draft.

Browser compatibility

BCD tables only load in the browser

See also