View Transitions: A Field Guide

You're already inside a View Transition — every navigation on this site is one. Here's the API behind it, the variants, and the traps, with a live lab to poke at.

Design + Dev
Solo
2025

You're Already In One

Every time you move between sections of this site, or open a case study, the browser isn't just swapping pages — it's running a View Transition. The slide, the circle reveal, the card that morphs into this page: all the same API.

This is a field guide, not a war story — what I learned wiring up this site, distilled into the variants and gotchas, with a live lab. The previews below are simulated (plain CSS/JS) so they stay contained; the real API code sits beside each one.

The Lab

Pick a variant, hit Run, and watch it play. Each tab pairs a simulated preview with the real View Transitions code that produces it.

Page A
Page B

The default. With no view-transition-name on anything, the browser snapshots the whole page as one image (root) and cross-fades old → new. Free — you get it just by wrapping the DOM change.

// the entire default transition
document.startViewTransition(() => {
  // swap the DOM however you like
  renderNewView();
});