How to add scroll animations on Framer
Add scroll animations in Framer by selecting an element, opening the Effects panel, choosing scroll variants, and configuring transform properties. Set scroll progress ranges to control when animations trigger during page scroll.
Prerequisites
- Basic knowledge of Framer interface
- Understanding of layers and components
- Familiarity with animation properties
- Knowledge of scroll triggers concept
Step-by-Step Instructions
Select the element to animate
Open the Effects panel
Add a scroll effect
Configure scroll variants
Set scroll progress range
Configure animation properties
- Opacity: 0 for fade-in effects
- Transform: Adjust X, Y position for slide animations
- Scale: Start smaller for zoom-in effects
- Rotation: Add rotation values for spinning effects
Adjust easing and timing
ease-out, ease-in-out, or create custom curves. You can also adjust the Duration if using time-based easing.Preview and test the animation
Cmd/Ctrl + P to test your scroll animation. Scroll up and down to see how the animation behaves at different scroll positions and make adjustments as needed.Common Issues & Troubleshooting
Animation not triggering during scroll
Check that your element is within a scrollable container and verify the scroll progress range values. Make sure the parent frame has sufficient height to enable scrolling.
Animation feels jumpy or stutters
Reduce the complexity of animated properties and avoid animating too many elements simultaneously. Use will-change CSS property or switch to transform-based animations for better performance.
Scroll animation doesn't work on mobile
Ensure your frame has proper mobile breakpoints configured. Test the animation in Device Preview mode and check that touch scrolling is enabled in your project settings.
Multiple elements animate at the same time
Adjust the Scroll Progress ranges for each element to create staggered timing. Use different start and end percentages to make animations trigger at different scroll positions.