An editorial page transition that uses a page-turn metaphor for portfolios, stories, and brand-led navigation.

Page Flip Transition turns the cut between routes into a designed moment: the route change borrows a page metaphor.
Use it on brand sites, campaign pages, portfolios, and editorial journeys where route changes benefit from continuity. Avoid it in apps, docs, checkout, and search paths where navigation speed is the feature.
The main risk is delay. Mount the transition where route state actually changes, keep the duration short, restore focus after navigation, and give reduced-motion users an instant or nearly instant path.
(Next.js App Router only. Requires next-transition-router for route-transition lifecycle hooks and must be wrapped in its provider. This effect will not function in plain React or in the Next.js Pages Router.)
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
You can preview it now. Upgrade to Pro for instant install access.
Use this as route-transition implementation guidance. Verify the shipped integration point, route-state behavior, focus restoration, cleanup, timing controls, and reduced-motion fallback before relying on exact props, defaults, imports, or installation steps.
Not for apps, docs, checkout, search, or frequently navigated product flows where delay harms completion.
Keep duration short, avoid artificial route delays, and do not block interactivity after the destination route is ready.
Move focus to the destination main region after navigation. On mobile and reduced motion, use instant transitions or short fades.
| Prop | Type | Default | Description |
|---|---|---|---|
duration | number | 0.9 | Page flip duration. |
bgColor | string | #ff5f00 | Overlay background color. |
Use it when an editorial or portfolio route change suits a page-flip metaphor without delaying navigation.
Mount it where the route wrapper remounts on navigation, often a template or route-transition component rather than a persistent layout.
Keep it short, usually 300–600ms. Longer transitions need a real loading reason.
Move focus to the destination main region or heading after navigation completes.
Use instant navigation or a brief fade, not full-screen movement or masks.
Need a custom effect? Tell us what to create.