A library of 215+ free, animated and customizable React and Next.js components and backgrounds, installable via shadcn or jsrepo.
tusen-ai/naive-ui
A Vue 3 component library with 90+ tree-shakable TypeScript components and a type-safe theme override system.
- Stars
- 18,576
- Forks
- 1,861
- Open issues
- 709
- Last commit
- 16 days ago
What is it?
Naive UI is a component library for Vue 3, written in TypeScript. It provides more than 90 components, and each one can be imported individually thanks to tree-shaking support, so unused components do not end up in the bundle.
Theming is handled through a theme overrides object in JavaScript, so you can change colors and styles without writing Less, Sass, or CSS variables, and without configuring webpack loaders. The components do not require importing a separate CSS file. Data components such as tables and selects use a virtual list by default.
The project recommends xicons as its icon library and vfonts for typography, and it provides a Sketch design library for designers.
Key features
- 01More than 90 components, all tree-shakable.
- 02Theme customization through a type-safe theme overrides object.
- 03No Less, Sass, CSS variables, or webpack loaders needed for theming.
- 04Written in TypeScript and works with TypeScript projects.
- 05No separate CSS import required to use components.
- 06Data components use virtual lists by default.
Use cases
- Building admin dashboards or back-office interfaces in a Vue 3 project.
- Creating a themed design system that is customized through JavaScript objects.
- Developing TypeScript Vue applications that need many prebuilt form and data components.
Quick start
- 1
Install the library from npm
npm i naive-ui - 2
Install the recommended fonts package
npm i vfonts - 3
Browse the documentation site to start using components
Things to know
- Requires Vue 3; it does not support Vue 2.
Topics
FAQ
- What is naive-ui?
- A Vue 3 component library with 90+ tree-shakable TypeScript components and a type-safe theme override system. Naive UI is a component library for Vue 3, written in TypeScript. It provides more than 90 components, and each one can be imported individually thanks to tree-shaking support, so unused components do not end up in the bundle.
- Is naive-ui free to use? What license does it have?
- naive-ui is open source under the MIT license. Check the license terms before using it in commercial products.
- Is naive-ui still maintained?
- Actively maintained. The last commit to naive-ui was on Oct 5, 2026.
- What can I use naive-ui for?
- Building admin dashboards or back-office interfaces in a Vue 3 project. Creating a themed design system that is customized through JavaScript objects. Developing TypeScript Vue applications that need many prebuilt form and data components.
- How do I install naive-ui?
- Install the library from npm: npm i naive-ui Install the recommended fonts package: npm i vfonts Browse the documentation site to start using components
- Where can I get naive-ui?
- The source code and installation instructions are on GitHub: https://github.com/tusen-ai/naive-ui
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Material Design UI component framework for Vue, providing handcrafted, responsive components for building web applications.
Accessible React component library and design system for building web apps quickly, with dark mode and Next.js RSC support.
A React UI component library built on React Aria and Tailwind CSS v4, formerly known as NextUI.
An enterprise-class Vue UI component library built on the Ant Design design language, supporting Vue 2 and Vue 3.
An open-source set of unstyled, accessible React UI primitives for building design systems and web apps.