finds.dev← search

// the find

shuding/next-view-transitions

★ 2,385 · TypeScript · MIT · updated Mar 2026

Use CSS View Transitions API in Next.js App Router.

A thin wrapper that wires the browser's View Transitions API into Next.js App Router navigation. You drop in a provider and swap `next/link` for the library's `Link` — page transitions animate without you writing any animation code. Aimed at simple sites and portfolios.

The implementation is tiny (6 source files), which means it's auditable and won't bloat your bundle. The hook-based escape hatch (`useTransitionRouter`) covers programmatic navigation so you're not locked into the `Link` component. The author (Shu Ding, Vercel) knows the Next.js internals deeply, so the App Router integration is not naive. Works today without waiting for React/Next.js to ship first-party support.

The disclaimer is the most important part of the README: concurrent rendering, Suspense, and streaming are explicitly unsupported — if your app uses any of these, transitions will break in subtle ways. Browser support still requires a polyfill for Firefox and Safari unless you're fine with no-transition fallback. The library appears to be in maintenance mode (last commit March 2026, few issues addressed), which is a problem since Next.js App Router evolves fast. Zero customization API for controlling which elements participate in the transition — you're stuck with full-page swaps unless you write CSS yourself.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →