
Element Plus
A Vue 3 component library of ready-made UI pieces, written in TypeScript.
- Stars
- 27.8k
- Forks
- 19.8k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 4 days ago
- Type
- Library
What it is
Element Plus is a UI component library for Vue.js 3, providing prebuilt interface elements such as buttons and forms that developers can drop into web apps. It is written in TypeScript and uses the Vue 3 Composition API. It is the Vue 3 successor to Element UI, made by the Element team.
- Build a Vue 3 web interface using the library's prebuilt components
- Try components in the built-in online playground before installing
- Migrate an existing Element UI project using the referenced gogocode migration tool
Great for
- Developers building admin panels or business web apps with Vue 3
- Teams migrating from Element UI to Vue 3
- Projects that want TypeScript support in their UI components
Not ideal for
- People not using Vue.js, since this library is specific to Vue 3
- Projects needing a Vue 2 library, because the README targets Vue 3 and points Element UI users to a migration path instead
- Non-developers who want a finished website without coding, since it is a library for building apps
How to get it
- 1
Install with a package manager
You'll need: Node.js 20 or newer
Clone the repository (for contributors)
git clone https://github.com/element-plus/element-plus - 2
Run it
- Open the built-in playground at element-plus.run to see components working
- Read the Getting Started guide at element-plus.org
- Install the element-plus package from npm in a Vue 3 project
- Import and use a component in your app
- 3
Get the most out of it
- Use the playground or CodeSandbox to test components before adding them to a project
- Read the breaking change list discussion if upgrading from Element UI
- Check the Chinese mirror site if access to the main site is slow in mainland China
- Join the Discord to ask questions from the community
Downloads
Strengths
- Written in TypeScript with Vue 3 Composition API support
- Stable release with a documented breaking-change list for upgrading from Element UI
- Available through npm and has a built-in online playground
Trade-offs
- The README says it requires Node.js 20 or newer, which may need an upgrade on some machines
- Most usage documentation lives on the separate element-plus.org site, not in the README
- Migration from Element UI involves breaking changes that need to be reviewed
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| element-plus (this) | 27.8k | Library | intermediate | 4 days ago | Developers building admin panels or business web apps with Vue 3 |
| primevue | 14.4k | Library | intermediate | 1 months ago | Vue developers who already use PrimeVue and need security fixes for existing projects |
| naive-ui | 18.6k | Library | beginner | 11 days ago | Vue 3 developers building admin panels or internal tools |
| quasar | 27.2k | Framework | intermediate | 18 days ago | Developers already familiar with Vue.js |
| element | 54k | Library | beginner | 2.2 years ago | Developers maintaining an existing Vue 2.x web application |
| vue-awesome-swiper | 12.8k | Library | intermediate | 3.9 years ago | Teams maintaining an existing Vue 3 app that already uses vue-awesome-swiper v5 and need a bridge while migrating |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.