sagalbot/vue-select
sagalbot/vue-select has 4,666 GitHub stars and 1,301 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 16:37 UTC. Last push 2026-10-16.
Everything you wish the HTML <select> element could do, wrapped up into a lightweight, extensible Vue component.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalvue-select

Everything you wish the HTML
<select>element could do, wrapped up into a lightweight, zero dependency, extensible Vue component.
Vue Select is a feature rich select/dropdown/typeahead component. It provides a default template that fits most use cases for a filterable select dropdown. The component is designed to be as lightweight as possible, while maintaining high standards for accessibility, developer experience, and customization.
- Tagging
- Filtering / Searching
- Vuex Support
- AJAX Support
- SSR Support
- Accessible
- ~20kb Total / ~5kb CSS / ~15kb JS
- Select Single/Multiple Options
- Customizable with slots and SCSS variables
- Zero dependencies
Documentation
Complete documentation and examples available at https://vue-select.org.
Sponsors :tada:
It takes a lot of effort to maintain this project. If it has saved you development time, please consider sponsoring the project with GitHub sponsors!
Huge thanks to the sponsors and contributors that make Vue Select possible!
Get started
Vue 3 / Vue Select 4.x-beta
Vue 3 support is on the
betachannel:vue-select@beta, and will become the new default whenv4is released. See #1579 for more details!
Install:
yarn add vue-select@beta
# or use npm
npm install vue-select@beta
Then, import and register the component:
# main.ts or main.js
import { createApp } from "vue";
import App from "./App.vue";
import { VueSelect } from "vue-select";
createApp(App)
.component("v-select", VueSelect)
.mount("#app");
The component itself does not include any CSS. You'll need to include it separately in your Component.vue:
<style>
@import "vue-select/dist/vue-select.css";
</style>
Vue 2 / Vue Select 3.x
Install:
yarn add vue-select
# or use npm
npm install vue-select
Then, import and register the component:
import Vue from "vue";
import vSelect from "vue-select";
Vue.component("v-select", vSelect);
The component itself does not include any CSS. You'll need to include it separately:
import "vue-select/dist/vue-select.css";
You can also include vue-select directly in the browser. Check out the documentation for loading from CDN..
License
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,452 starspublic-apis/public-apis
A collective list of free APIs
496,767 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
438,168 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,078 stars