Design motion that feels real. The ultimate easing visualization and generation tool for modern frontend development.
EaseMaster bridges the gap between design and engineering. It allows developers to visualize Cubic Bezier curves and Spring physics side-by-side and instantly generate production-ready code for CSS, Tailwind, Framer Motion, and GSAP.
- Dual Modes:
- 📐 Cubic Bezier Editor: Drag handles to create custom curves with real-time visualization.
- 🌀 Spring Physics Engine: Adjust Mass, Stiffness, and Damping to create organic motion.
- Multi-Framework Export:
- Generate standard CSS
transitionstrings. - Generate Tailwind CSS arbitrary values (e.g.,
ease-[...]). - Generate Framer Motion transition objects.
- Generate GSAP tweens (including
CustomEasesupport).
- Generate standard CSS
- Advanced Preview:
- Real-time playground to test Position, Scale, Opacity, and Rotation.
- Visual comparison of how the ease affects different properties.
- Smart Presets:
- Includes industry standards (Penner Equations, Material Design).
- Includes OS-style springs (iOS Fluid, Android Pop).
- Linear Approximation:
- Automatically converts complex Spring physics into CSS
linear()functions for use in pure CSS/Tailwind without JavaScript libraries.
- Automatically converts complex Spring physics into CSS
- Theming:
- Built with Shadcn UI compatibility.
- Fully responsive with Dark/Light mode support.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Shadcn UI
- State Management: Zustand
- Icons: Lucide React
- Math: Custom physics solvers for Spring-to-Linear conversion.
Follow these steps to run EaseMaster locally.
- Node.js 18+
- pnpm or yarn
-
Clone the repository
git clone https://github.com/satishkumarsajjan/ease-master.git cd ease-master -
Install dependencies
pnpm install # or yarn install -
Run the development server
pnpm run dev
-
Open your browser Navigate to
http://localhost:3000to see the application.
CSS transitions natively support Cubic Beziers, but Beziers cannot represent the "bounce" of a spring physics simulation.
EaseMaster solves this by running a physics simulation in the background (RK4 integration). For CSS/Tailwind exports, it samples the physics curve and generates a linear(0, 0.1, 1.2, ...) function that approximates the spring motion with high precision, allowing you to use bouncy springs in pure CSS.
Contributions are welcome! Please follow these steps:
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License.
SATISH KUMAR
Built with ❤️ for the frontend community.
