How to build interactive buttons on Framer
Build interactive buttons in Framer by creating a frame, styling it, adding text, converting to a component, and setting up hover/click states with variants. Use the Properties panel to customize animations and behaviors for seamless user interactions.
Prerequisites
- Basic understanding of Framer interface
- Framer account setup
- Familiarity with design tools
- Understanding of component basics
Step-by-Step Instructions
Create a Basic Button Frame
F. Set the frame dimensions to your desired button size (e.g., 120x40px). In the Properties panel, add a background color, set border radius for rounded corners, and adjust the stroke if needed. Name your frame something descriptive like Button in the layers panel.Add Text to Your Button
T, then click inside your button frame to add text. Type your button label (e.g., "Get Started"). In the Properties panel, adjust the font family, size, weight, and color. Center the text by selecting both the frame and text, then using Auto Layout or the alignment tools in the Properties panel.Convert to Component
Cmd/Ctrl + K. This creates a reusable component that appears in your Assets panel. Name your component clearly in the Properties panel. Components allow you to create multiple instances and add interactive states.Add Hover State with Variants
Default and the new variant to Hover. Select the Hover variant and modify its appearance - change background color, scale, or shadow. You can adjust these properties in the Properties panel.Set Up Hover Interactions
Default variant and open the Interactions panel. Click Add Interaction and choose While Hovering as the trigger. Set the action to Change to Variant and select your Hover variant. Adjust the animation settings - try Spring animation with 0.2s duration for smooth transitions.Add Click/Tap Interactions
Pressed with a slightly different appearance (darker color or smaller scale). In the Interactions panel, add a Tap trigger that changes to the Pressed variant, then immediately transitions back to Default or your target action. For navigation, use Navigate to and select your destination page.Customize Animation Properties
Test and Deploy Your Interactive Button
Cmd/Ctrl + P to test your interactive button. Check that hover states work smoothly and click interactions function as expected. Once satisfied, you can reuse this component throughout your project by dragging it from the Assets panel or publish your site using Publish in the top-right corner.Common Issues & Troubleshooting
Hover effect not working
Ensure you've created variants properly and set up While Hovering trigger in the Interactions panel. Check that your component is properly converted and not just a frame.
Button text not centered
Select your button frame and enable Auto Layout in the Properties panel. Set direction to vertical and align items to center, or use the alignment tools with both text and frame selected.
Animation feels jerky or slow
Adjust the animation duration to 0.2-0.3 seconds and try Spring easing instead of linear. Check that you're not animating too many properties simultaneously.
Button component instances not updating
Ensure you're editing the main component, not an instance. Look for the purple diamond icon indicating the main component, and make changes there to propagate to all instances.