Animations: Inspect and modify CSS animation effects

Sofia Emelianova
Sofia Emelianova

Inspect and modify animations with the Chrome DevTools Animations drawer tab.


To capture animations, open the Animations tab. It automatically detects animations and sorts them into groups.

The Animations tab has two main purposes:

  • Inspect animations. Slow down, replay, or inspect the source code for an animation group.
  • Modify animations. Modify the timing, delay, duration, or keyframe offsets of an animation group. Keyframe and Bezier editing isn't supported.

The Animations tab supports CSS animations, CSS transitions, web animations, and the View Transitions API. requestAnimationFrame animations are not yet supported.

What's an animation group?

An animation group is a set of animations that appear to be related to each other.

For now, the web has no real concept of a group animation, so motion designers and developers compose and time individual animations to appear as one coherent visual effect. The Animations tab predicts related animations based on start time (excluding delays) and groups them side-by-side.

In other words, the Animations tab groups together animations triggered in the same script block, but if they're asynchronous, they end up in different groups.

Get started

There are two ways to open the Animations tab:

  • Select More. Customize and control DevTools > More tools > Animations. Animations in the menu.
  • Open the Command Menu by pressing one of the following:

    • On macOS: Command+Shift+P
    • On Windows, Linux, or ChromeOS: Control+Shift+P

    Then start typing Show Animations and select the corresponding Drawer panel. Show Animations.

By default, the Animations tab opens up as a tab next to the Console drawer. As a drawer tab, you can use it with any panel or move it to the top of DevTools.

Empty Animations tab.

The Animations tab has four main sections:

The sections of the Animations panel.

  1. Controls. From here, you can block Clear all captured animation groups, pause Pause or play_arrow Resume animations, or change the speed of the selected animation group.
  2. Overview. Shows captured animation groups of two types marked with icons: mouse scroll-driven and schedule regular (time-based).

    Select an animation group here to inspect and modify it in the Details pane.

  3. Timeline. Depending on the type of animation group, the timeline can be:

    • In pixels for mouse scroll-driven animations.
    • In milliseconds for schedule time-based animations.

    In the timeline, you can replay Replay an animation, scrub it, or jump to a specific point.

  4. Details. Inspect and modify the selected animation group.

To capture an animation, trigger it while the Animations tab is open. If an animation is triggered on page load, reload it.

Inspect animations

Once you've captured an animation, there are a few ways to replay it:

  • Hover over its thumbnail in the Overview pane to view a preview of it.
  • Drag the playhead (red vertical bar) to scrub the viewport animation or click anywhere on the Timeline to set the playhead to a specific point. The animation continues to play if it was already playing and stops otherwise.
  • Select the animation group from the Overview pane (so that it's displayed in the Details pane) and press the Replay button. Replay button. The animation is replayed in the viewport.

Click the Animation speed buttons. Animation speed buttons in the Controls bar to change the preview speed of the selected animation group.

View animation details

Once you've captured an animation group, click it from the Overview pane to view its details.

In the Details pane, each individual animation gets its own row. To see the entire name of the corresponding element, resize the name column.

The Details pane.

Hover over an animation to highlight it in the viewport. Click the animation to select it in the Elements panel.

Hovering over an animation to highlight it in viewport.

Some animations repeat indefinitely if their animation-iteration-count property is set to infinite. The Animations tab displays their definitions and iterations.

Animation iterations.

The leftmost, darker section of an animation is its definition. The right, more faded sections represent iterations.

For example, in the next screenshot, sections two and three represent iterations of section one.

Diagram of animation iterations.

If two elements have the same animation applied to them, the Animations tab assigns them the same color. The color itself is random and has no significance. For example, in the screenshot below the two elements div.eye.left::after and div.eye.right::after have the same animation (eyes) applied to them, as do the div.feet::before and div.feet::after elements.

Color-coded animations.

Modify animations

There are three ways you can modify an animation with the Animations tab:

  • Animation duration.
  • Keyframe timings.
  • Start time delay.

For this section, suppose that the next screenshot represents the original animation:

Original animation before modification.

To change the duration of an animation, drag the first or last circle.

Modified duration.

If the animation defines any keyframe rules, then these are represented as white inner circles. Drag one of these to change the timing of the keyframe.

Modified keyframe.

To add a delay to an animation, click the animation itself, not the circles, then drag it anywhere.

Modified delay.

Edit the ::view-transition pseudo-elements during an animation

With the View Transitions API, you can change the DOM in a single step, while creating an animated transition between the two states. During an animation, the API constructs a pseudo-element tree with the following structure:

└─ ::view-transition-group(root)
   └─ ::view-transition-image-pair(root)
      ├─ ::view-transition-old(root)
      └─ ::view-transition-new(root)

To edit this structure in Elements > Styles:

  1. Open DevTools and inspect a page that used the View Transitions API. For example, this demo page.
  2. In Animations, click pause Pause.
  3. On the page, trigger an animation. The Animations panel captures it and immediately pauses. You can now find the ::view-transition structure in the DOM, on top of the <head> element.

    Editing the CSS of ::view-transition pseudo-element.

  4. In Elements > Styles, modify the CSS of ::view-transition pseudo-elements.

  5. Resume the animation and Replay it to see the result.

For more information, see Smooth and simple transitions with the View Transitions API.