How to create page transitions on Framer
Create page transitions in Framer by using the Page component or creating custom transitions with variants and the Animate Presence component. You can set up smooth transitions between pages using built-in transition properties or custom animations.
Prerequisites
- Basic Framer knowledge
- Understanding of components and variants
- Familiarity with the Framer interface
- At least two pages created in your project
Step-by-Step Instructions
Set up your pages structure
Add the Page component for automatic transitions
P. Drag it to your canvas and resize it to fill your desired area. In the Properties panel, you'll see transition options including Direction, Duration, and Easing.Configure page content and variants
Set up navigation triggers
Customize transition properties
- Transition: Choose from Slide, Push, Modal, or Instant
- Direction: Set to Left, Right, Up, or Down
- Duration: Adjust timing (typically 0.3-0.8 seconds)
- Easing: Select from Linear, Ease, Spring, or custom curves
Add custom animations with Animate Presence
Test and refine transitions
Cmd/Ctrl + P to test your transitions. Navigate between pages to ensure smooth performance. Adjust timing, easing, and direction as needed. Test on different device sizes using the Device dropdown in preview mode.Common Issues & Troubleshooting
Transitions feel laggy or choppy
Reduce the complexity of animated elements and use transform properties instead of changing layout properties. Enable Hardware Acceleration in the component settings.
Page transitions not working on mobile
Ensure you're using the Page component rather than custom frames. Check that Touch is enabled in the interaction settings and test in Framer's mobile preview.
Content jumps or flickers during transitions
Set explicit width and height values for your Page component and ensure all variants have consistent dimensions. Use position: absolute for overlapping elements.
Navigation buttons stop working after transition
Make sure navigation elements are outside the Page component or recreated in each variant. Check that interaction targets are correctly set to the Page component, not individual variants.