~1.65 KB gzipped • Zero dependencies

Skeleton loaders that actually work.

Ultra-lightweight React skeleton loader with zero DOM scanning. Infer from JSX or define manual schemas. Production-ready in seconds.

0
KB gzipped
0
DOM scans
0
Render modes
⚡ Zero lag
🎯 JSX inference
✨ Why instaskeleton?

Built for performance-obsessed developers

Every byte counts. Every millisecond matters. That's why we built the smallest, fastest skeleton loader for React.

Zero DOM Scanning

No heavy DOM traversal. Skeletons are generated from your JSX structure at render time, not by scanning the mounted DOM.

🎯

JSX Inference

Automatically infer skeleton shapes from your component's JSX structure. Works out of the box with minimal configuration.

📐

Manual Schemas

Need pixel-perfect control? Define exact skeleton layouts with our flexible schema system. Mix and match as needed.

🪶

Tiny Bundle

Just ~1.65KB gzipped total. No dependencies. Won't bloat your bundle or slow down your app.

💾

Smart Caching

LRU cache with 100-entry limit. Skeleton shapes are cached per component for instant re-renders.

🎨

Multiple Animations

Choose from shimmer, pulse, or no animation. GPU-accelerated for smooth 60fps performance.

🚀 Getting Started

Ship in 60 seconds

Just wrap your component with InstaSkeleton. That's it. No complex setup, no configuration files.

App.tsx
import { InstaSkeleton } from 'instaskeleton'; function UserCard() { const { data, isLoading } = useUser(); return ( <InstaSkeleton loading={isLoading} infer animation="shimmer" > <Card> <Avatar src={data.avatar} /> <h3>{data.name}</h3> <p>{data.bio}</p> </Card> </InstaSkeleton> ); }
Live Preview

Ready to ship faster?

Join thousands of developers using instaskeleton to create blazing-fast loading experiences.

npm install instaskeleton
See Examples