The Ultimate React Animation Library
80+ Production-Ready Animation Components โข TypeScript First โข Zero Config โข Tree Shakeable
Transform your React apps with stunning animations that actually perform in production.
๐ Get Started โข ๐ Documentation โข ๐ฎ Examples โข ๐ก Showcase
ReactBits isn't just another animation library. It's a complete animation ecosystem designed for modern React applications.
- Canvas & WebGL optimized for 60fps animations
- Tree-shakeable - only bundle what you use
- Memory efficient with proper cleanup
- Mobile optimized with touch interactions
- Zero configuration - works out of the box
- TypeScript native with full type safety
- Composable - combine animations effortlessly
- Consistent API across all components
- 80+ components from simple fades to complex 3D effects
- Battle tested in production applications
- Accessible with proper ARIA support
- Framework agnostic - works with Next.js, Vite, CRA
- 3D Model Viewer with physics and lighting
- Shader-based effects for premium visuals
- Particle systems with WebGL acceleration
- Advanced text animations with character-level control
# npm
npm install @appletosolutions/reactbits
# yarn
yarn add @appletosolutions/reactbits
# pnpm
pnpm add @appletosolutions/reactbits
ReactBits uses peer dependencies to avoid conflicts and reduce bundle size. Install only what you need:
# Required for all components
npm install react react-dom
# For 3D components (ModelViewer, Aurora, etc.)
npm install three @react-three/fiber @react-three/drei
# For GSAP-powered animations (Bounce, ScrollReveal, etc.)
npm install gsap
# For physics-based animations (Ballpit, etc.)
npm install matter-js
# For Chakra UI components (optional)
npm install @chakra-ui/react @emotion/react @emotion/styled
# For Framer Motion components (optional)
npm install framer-motion
Dependency Resolution Errors: If you encounter "Could not resolve" errors for dependencies like matter-js
, @react-three/fiber
, etc.:
# Install only the peer dependencies you need
npm install three @react-three/fiber @react-three/drei # For 3D components
npm install matter-js # For physics components
npm install gsap # For GSAP animations
# Use --legacy-peer-deps if needed
npm install @appletosolutions/reactbits --legacy-peer-deps
Bundle Size Optimization: ReactBits uses peer dependencies to keep your bundle small:
# Check what's included in your bundle
npm run build -- --analyze # For Create React App with bundle analyzer
# Only install dependencies for components you use
npm install gsap # Only if using GSAP-powered components
npm install three # Only if using 3D components
TypeScript Errors: Ensure you have the correct type definitions:
npm install --save-dev @types/three @types/matter-js
Framework-Specific Issues:
-
Next.js: Add to
next.config.js
:module.exports = { transpilePackages: ['@appletosolutions/reactbits'] }
-
Vite: Add to
vite.config.ts
:export default defineConfig({ optimizeDeps: { include: ['@appletosolutions/reactbits'] } })
Get up and running in 30 seconds:
import { Bounce, ClickSpark, StarBorder } from '@appletosolutions/reactbits';
function App() {
return (
<div>
{/* Bounce animation on mount */}
<Bounce>
<h1>Welcome to ReactBits! ๐</h1>
</Bounce>
{/* Interactive click effects */}
<ClickSpark sparkColor="#ff6b6b" sparkCount={12}>
<button className="btn-primary">
Click for sparks! โจ
</button>
</ClickSpark>
{/* Animated border effects */}
<StarBorder color="#00d4ff" speed="3s">
<div className="premium-card">
Premium Feature โญ
</div>
</StarBorder>
</div>
);
}
That's it! No configuration, no setup, just beautiful animations.
๐ Text Animations (20+ components)
Perfect for headlines, CTAs, and dynamic content:
SplitText
- Character-by-character animationsBlurText
- Smooth blur-to-focus transitionsGlitchText
- Cyberpunk-style glitch effectsScrambleText
- Matrix-style character scramblingShinyText
- Metallic shine effectsGradientText
- Animated gradient textDecryptedText
- Decryption animation effectFallingText
- Gravity-based text animationsCountUp
- Animated number counters- And 11 more...
โจ Interactive Effects (15+ components)
Engage users with responsive animations:
ClickSpark
- Particle explosions on clickStarBorder
- Animated star bordersGlareHover
- Metallic hover effectsMagnetLines
- Magnetic line attractionsPixelTrail
- Mouse-following pixel effectsSplashCursor
- Liquid cursor interactionsBlobCursor
- Morphing blob cursorImageTrail
- Image-following mouse trails- And 7 more...
๐จ Background Effects (20+ components)
Transform your layouts with stunning backgrounds:
Aurora
- Northern lights shader effectParticles
- WebGL particle systemsLightning
- Electric lightning effectsSilk
- Flowing silk animationsMetaBalls
- Liquid blob animationsGridDistortion
- Warping grid effectsHyperspeed
- Star field animationsLiquidChrome
- Metallic liquid effects- And 12 more...
๐๏ธ Layout Components (15+ components)
Enhance your UI with animated layouts:
AnimatedList
- Staggered list animationsCarousel
- Smooth carousel transitionsStack
- Card stack interactionsDock
- macOS-style dock effectsInfiniteScroll
- Smooth infinite scrollingElasticSlider
- Physics-based slidersFlowingMenu
- Fluid menu animationsCircularGallery
- 3D circular galleries- And 7 more...
๐ 3D Components (10+ components)
Professional 3D effects powered by Three.js:
ModelViewer
- Interactive 3D model displayFlyingPosters
- 3D scrolling galleriesBallpit
- Physics-based ball animationsOrb
- Floating 3D orbsWaves
- Ocean wave simulationsChromaGrid
- Chromatic aberration grids- And 4 more...
// Bounce effect on page load
<Bounce>
<h1>Welcome! ๐</h1>
</Bounce>
// Fade in with blur effect
<FadeContent blur={true} duration={1000}>
<img src="/hero.jpg" alt="Hero" />
</FadeContent>
// Scroll-triggered slide animation
<AnimatedContent direction="vertical" distance={100}>
<div>Slides up when scrolled into view</div>
</AnimatedContent>
// Click sparks with custom colors
<ClickSpark sparkColor="#ff6b6b" sparkCount={15} sparkRadius={30}>
<button className="cta-button">
Click me for fireworks! ๐
</button>
</ClickSpark>
// Animated star border
<StarBorder color="#ffd700" speed="2s">
<div className="premium-badge">
โญ Premium Feature
</div>
</StarBorder>
// Magnetic hover effect
<Magnet strength={0.3} range={100}>
<div className="magnetic-card">
Hover to see magnetic attraction
</div>
</Magnet>
// Aurora background with custom colors
<Aurora
colorStops={["#ff6b6b", "#4ecdc4", "#45b7d1"]}
amplitude={1.2}
speed={0.8}
/>
// Particle system background
<Particles
particleCount={150}
particleColors={["#ff6b6b", "#4ecdc4"]}
moveParticlesOnHover={true}
/>
// Animated grid distortion
<GridDistortion
gridSize={20}
distortionStrength={0.5}
animationSpeed={1.0}
/>
// Multi-layered landing page
<div className="hero-section">
<Aurora colorStops={["#667eea", "#764ba2"]} />
<FadeContent blur={true} duration={1200}>
<Bounce delay={500}>
<h1>ReactBits Animation Library</h1>
</Bounce>
<AnimatedContent direction="vertical" delay={800}>
<p>80+ components for stunning React animations</p>
<ClickSpark sparkColor="#ffd700" sparkCount={20}>
<StarBorder color="#00d4ff">
<button>Get Started Now</button>
</StarBorder>
</ClickSpark>
</AnimatedContent>
</FadeContent>
</div>
// Interactive 3D model viewer
<ModelViewer
url="/models/product.glb"
width={600}
height={400}
autoRotate={true}
enableMouseParallax={true}
/>
// Flying posters gallery
<FlyingPosters
items={[
{ image: "/poster1.jpg", title: "Project 1" },
{ image: "/poster2.jpg", title: "Project 2" },
{ image: "/poster3.jpg", title: "Project 3" }
]}
distortion={2.5}
/>
๐ก Pro Tip: All components are composable! Mix and match to create unique effects.
๐ View Complete Examples โ
- ๐๏ธ E-commerce - Product showcases, CTAs, checkout flows
- ๐ผ SaaS Applications - Onboarding, dashboards, feature highlights
- ๐จ Portfolios - Creative showcases, project galleries
- ๐ฑ Mobile Apps - Touch interactions, micro-animations
- ๐ฎ Gaming - UI effects, loading screens, achievements
- ๐ Data Visualization - Chart animations, progress indicators
ReactBits components are unstyled by default, giving you complete design freedom:
// Use with any CSS framework
<ClickSpark className="my-custom-button">
<button className="btn btn-primary">Tailwind Button</button>
</ClickSpark>
// Or with CSS-in-JS
<StarBorder
style={{ borderRadius: '12px' }}
color="#ff6b6b"
>
<div className="styled-component">Custom Styled</div>
</StarBorder>
โ Tailwind CSS - Perfect integration โ Styled Components - Full support โ Emotion - Works seamlessly โ CSS Modules - Complete compatibility โ Vanilla CSS - No restrictions
ReactBits is built for production with performance as a top priority:
Metric | ReactBits | Framer Motion | React Spring |
---|---|---|---|
Bundle Size | 50KB (core) | 180KB | 120KB |
Tree Shaking | โ Full | ||
WebGL Support | โ Yes | โ No | โ No |
3D Components | โ 10+ | โ No | โ No |
Canvas Animations | โ Yes | โ No | โ No |
- 60fps animations on mobile devices
- <16ms render times for complex effects
- Zero layout thrashing with transform-based animations
- Memory efficient with automatic cleanup
Framework | Support | Notes |
---|---|---|
Next.js | โ Full | SSR compatible |
Vite | โ Full | Optimized builds |
Create React App | โ Full | Zero config |
Remix | โ Full | SSR compatible |
Gatsby | โ Full | Static generation |
We love contributions! Here's how to get started:
Found a bug? Open an issue with:
- Clear description
- Reproduction steps
- Expected vs actual behavior
- Environment details
Have an idea? Start a discussion to:
- Describe your use case
- Explain the proposed solution
- Discuss implementation details
# Clone the repository
git clone https://github.com/appletosolutions/reactbits.git
# Install dependencies
npm install
# Start development
npm run dev
# Run tests
npm test
# Build library
npm run build
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-animation
) - Write tests for your changes
- Ensure all tests pass (
npm test
) - Commit your changes (
git commit -m 'Add amazing animation'
) - Push to the branch (
git push origin feature/amazing-animation
) - Open a Pull Request
ReactBits is crafted with โค๏ธ by Appleto Solutions
- ๐ Website: appletosolutions.com
- ๐ง Contact: hello@appletosolutions.com
- ๐ฆ Twitter: @AppletoSolutions
- ๐ผ LinkedIn: Appleto Solutions
If ReactBits helps your project, consider:
- โญ Starring the repository
- ๐ฆ Sharing on social media
- ๐ Sponsoring development
- ๐ค Contributing code or ideas
MIT ยฉ Appleto Solutions
Made with โค๏ธ for the React community
โญ Star on GitHub โข ๐ฆ View on NPM โข ๐ Documentation