
Beautiful React Native components. Copy. Paste. Ship.
• • • • •
AniUI is a -inspired component library for React Native. Instead of installing a package, you copy component source files directly into your project. You own the code. Customize everything.
Built with (recommended) or , for accessibility, , and strict TypeScript. Every component is a single file, styled with Tailwind classes, and works on both iOS and Android out of the box.
Demo: |
Try on device: Scan with
Compatibility
New: Expo SDK 57 + Uniwind is now the default → On Expo SDK 55+ projects,
aniui initnow defaults to (2–3× faster than NativeWind, Tailwind v4 CSS-first, no Babel transform). NativeWind stays fully supported via--style nativewind. Ships with Expo 57 starters for both engines (examples/expo-57-starter,examples/expo-57-nw5-starter). See and .
Quick Start
That's it. Components are copied to your components/ui/ directory. Import and use them:
Or install with the shadcn CLI / React Native Reusables
The full catalog is also published as a shadcn-compatible registry at https://aniui.dev/r, so you don't need the aniui CLI. Add the namespace to your components.json…
…then install with the shadcn CLI, or by raw URL with the React Native Reusables (RNR) CLI:
Already on RNR / NativeWind / Uniwind? Components drop in with zero extra setup — same theme tokens and aliases. See the .
Components
93 components — all listed alphabetically. Each component's docs page tells you if it needs extra dependencies.
Prerequisites
AniUI requires these in your project:
Supported platforms: See table above.
Production Ready
Documentation
Visit the for interactive previews, code examples, and API reference for every component.
Or run it locally:
Philosophy
AniUI follows a set of principles that keep it different from other React Native UI libraries:
- You own the code. Components are source files, not npm dependencies. Fork, modify, delete — it's yours.
- Mobile only. No web compromises. Every component is built and tested for iOS and Android.
- NativeWind all the way. No
StyleSheet.create(). Every style is a Tailwind class. Override anything withclassName. - One file per component. No splitting across multiple files. Each component is self-contained and under 80 lines.
- Minimal dependencies. A component doesn't add a dependency unless 3+ components need it.
- Accessible by default. Every interactive component has
accessibilityRoleset on day one. - Dark mode built in. HSL CSS variables that switch automatically between light and dark themes.
Theme
AniUI uses CSS custom properties for theming, just like shadcn/ui. Customize colors in global.css:
Project Structure
Contributing
Contributions are welcome! Please read the contributing guide [blocked] and component guidelines [blocked] before submitting a PR.
License
MIT. See LICENSE [blocked].