Skip to main content

Back to home

GIF studio

Wipe between two GIFs

Pick a GIF, tune duration and mask size, play it on the real View Transitions API, then copy the CSS or share the URL.

Live page

Theme

Play toggles light and dark on this surface. The GIF is only the mask.

CSS

::view-transition-group(root) { animation-timing-function: var(--expo-in); } ::view-transition-new(root) { mask: url('') center / 0 no-repeat; animation: scale 3s; animation-fill-mode: both; } ::view-transition-old(root), .dark::view-transition-old(root) { animation: none; z-index: -1; } @keyframes scale { 0% { mask-size: 0px; } 10% { mask-size: 50vmax; } 90% { mask-size: 50vmax; } 100% { mask-size: 2000vmax; } }

Play

if (!document.startViewTransition) switchTheme() document.startViewTransition(switchTheme);