Best Vue Select and Autocomplete Components in 2026: 8 Libraries Compared
Short answer. Choose Vuetify if you want the most complete free option: VAutocomplete highlights matches, VCombobox accepts free text and creates items, the list is virtualized and VSelect posts its value through a hidden input. Choose Quasar if one QSelect should do everything, including an always-virtualized list and loading more options on scroll. Choose Element Plus if you need remote search, allow-create and a separate virtualized ElSelectV2 for long lists. Choose vue-multiselect if you want a small standalone dependency with async search and tagging, for short lists. Choose CoreUI PRO Autocomplete if your Vue app runs on Bootstrap or CoreUI and you want match highlighting and Tab-accepted inline hints as documented props.
How we compared
We compared 8 Vue 3 libraries in October 2026, using each vendor’s docs, API files and npm package (versions in the table). Where a library has several candidates (Element Plus ElSelect, ElSelectV2 and ElAutocomplete), each feature is rated on the best one. Every cell has a source URL and a verification date in our research base. A ❌ means the gap is confirmed: the vendor’s documentation says so, or we reproduced it in the official public demo in a headless browser on October 28, 2026. When the docs are silent, or an absence appears only in source or type files, we write — (no data) instead of ❌. CoreUI publishes this page; its own gaps are marked ❌ from its complete API reference.
The comparison at a glance
Legend: ✅ built in · Partial = example, event hook or limited · ❌ confirmed missing · — no data
| Library (version) | Type to filter | Match highlight | Free text | Create option | Async options | Load on scroll | Virtualization | Option groups | Custom value render | Native form submit | License |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Vuetify 4.3 | ✅ | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ | ✅ | ✅ | MIT |
| PrimeVue 5.0 | ✅ | — | ✅ | — | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | PrimeUI License: free under size limits, $599/dev |
| Quasar 2.35 | ✅ | — | ✅ | ✅ | ✅ | ✅ | ✅ | — | ✅ | ✅ | MIT |
| Element Plus 2.14 | ✅ | — | ✅ | ✅ | ✅ | Partial | ✅ | ✅ | ✅ | Partial | MIT |
| Naive UI 2.45 | ✅ | — | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | — | MIT |
| Ant Design Vue 4.2 | ✅ | — | ✅ | Partial | ✅ | Partial | ✅ | ✅ | Partial | — | MIT |
| vue-multiselect 3.5 | ✅ | — | Partial | ✅ | ✅ | — | ❌ | ✅ | ✅ | — | MIT |
| CoreUI for Vue PRO 5.22 | ✅ | ✅ | ✅ | — | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ | CoreUI PRO, $127/dev perpetual |
The libraries, one by one
Vuetify VSelect, VAutocomplete and VCombobox
Vuetify 4.3.1 (MIT) has three components that share one API: VSelect, VAutocomplete for type-ahead filtering, and VCombobox, where whatever the user types is valid input, new items emit item:created, and delimiters split text into entries. The option list renders through VVirtualScroll, VAutocomplete wraps matched text in VHighlight while you search, auto-select-first highlights the first result, and custom-filter, filter-keys, filter-mode and ignore-accents tune matching. The “Asynchronous items” example pairs v-model:search with loading. VSelect renders a hidden input with name, so values reach FormData, and slots cover options, the selection and the empty state.
Choose it if you build on Vuetify; there is little you will need to add.
PrimeVue Select and AutoComplete
PrimeVue 5.0.4 offers Select (formerly Dropdown) and AutoComplete. Select has filter with filterMatchMode, filterFields and filterLocale, virtualScrollerOptions (with a 100K-item demo), lazy loading through onLazyLoad, option groups, option and value slots, showClear, editable and name. AutoComplete handles server search with its complete event, delay, minLength and loading. Since 5.0.0, PrimeVue is distributed under the PrimeUI License (see below).
Choose it if your organization qualifies for the Community License or already licenses PrimeUI.
Quasar QSelect
Quasar 2.35.2 (MIT) does everything with one QSelect. use-input with the @filter event turns it into an autocomplete where the filtering logic and the server call are yours, with an update and abort callback and a loading spinner. new-value-mode (add, add-unique or toggle) creates options, the “Text autocomplete” example gives free text, the option list is always virtualized (the docs show 100k options), and new options can load when scrolling reaches the end. Slots cover options and the selected value, and name posts the value with the form.
Choose it if you use Quasar.
Element Plus Select, SelectV2 and Autocomplete
Element Plus 2.14.7 (MIT) has ElSelect, a separate ElSelectV2 for virtualized lists, and ElAutocomplete for free text with fetch-suggestions. ElSelect supports filterable with filter-method, remote with remote-method and a debounce option, allow-create, option groups, a label slot for the selected value, teleported dropdowns, and an end-reached event (since 2.14.0) you can use to fetch the next page. The error state comes from ElFormItem.
Choose it if you use Element Plus; reach for ElSelectV2 when lists get long.
Naive UI NSelect
Naive UI 2.45.3 (MIT) NSelect is feature-rich: filterable with a custom filter, remote search with loading, tag for creating options, virtual-scroll on by default, a scroll event documented for loading options, groups, render-label, render-option and render-tag, and a status prop.
Choose it if you already use Naive UI.
Ant Design Vue Select and AutoComplete
Ant Design Vue 4.2.6 (MIT) mirrors Ant Design’s Select: showSearch with filterOption, AutoComplete for free text with backfill, virtual on by default, OptGroup, an option slot, allowClear, status, RTL through ConfigProvider, and a remote search demo with debounce. Creating options is available in mode="tags", a multiple mode. Keep in mind that 4.2.6, released on November 11, 2024, is still the latest version.
Choose it if you maintain an Ant Design Vue app.
vue-multiselect
vue-multiselect 3.5.0 (MIT, Vue 3) is one Multiselect component that works as a single select when multiple is off. Search is on by default, taggable with a @tag handler adds options, @search-change with loading handles server search, and you get groups, $isDisabled options, option and singleLabel slots, and useTeleport. It does not virtualize: in the official async demo, 207 options were in the DOM with 8 visible; rendering is capped by optionsLimit (1,000 by default) instead. The name prop is set on the search input, so test form submission before relying on it.
Choose it if you want a lightweight select without a UI framework and your lists are short.
CoreUI Autocomplete and Multi Select (single mode) for Vue
Our own entry. CoreUI for Vue has a free, MIT CFormSelect (a styled native select with validation feedback) and two PRO components: CAutocomplete and CMultiSelect with multiple set to false. Both are in CoreUI PRO, $127 per developer, perpetual, 12 months of updates, renewal at the same price.
Honestly, Vuetify gives you highlighting, free text, option creation and virtualization for free, so CoreUI’s case in Vue is narrower than in React. What CAutocomplete documents: highlightOptionsOnSearch, showHints for inline completion accepted with Tab, free text by default (allowOnlyDefinedOptions restricts it), External Data loading with debounce and loading, virtualScroller with visibleItems, grouped options via the #options-groups slot, the #options slot, cleaner, teleport, name, and valid and invalid feedback. It matches the CoreUI React component, which helps teams that ship both.
Where CoreUI loses: no slot for the selected value, no infinite loading, no custom match function (built-in, global or external search only), option creation documented only for multiple mode, and no RTL section on the Autocomplete page.
Choose it if your Vue app already uses CoreUI or Bootstrap styling. Team prices are on the pricing page.
Licensing in 2026: what changed
PrimeVue is no longer MIT. Since 5.0.0 (July 15, 2026), primevue is a compiled package under the PrimeUI License, which requires a license key. The free Community License applies only when all conditions hold: fewer than 5 developers in the organization, fewer than 10 employees, under $1M revenue, under $3M in outside funding, and not the public sector or education; it renews yearly. The commercial license is $599 per developer until December 31, 2026 (then $799), perpetual with one year of updates, with $399 per developer to renew updates. PrimeTek names PrimeVue 4 as the last MIT version (4.5.5 on the v4-stable tag).
Maintenance matters too. Ant Design Vue has not shipped a release since November 2024. vue-multiselect published 4.0.0-alpha.0 on September 17, 2026, while 3.5.0 remains the stable line.
FAQ
What is the best Vue 3 autocomplete component?
Inside a framework, use its own: Vuetify VAutocomplete, Quasar QSelect with use-input, or Element Plus ElAutocomplete. Without a framework, vue-multiselect works for short lists.
Which Vue select handles very large option lists?
Vuetify, Quasar, Naive UI and Ant Design Vue virtualize their lists by default, Element Plus has the separate ElSelectV2, PrimeVue uses virtualScrollerOptions, and CoreUI has virtualScroller. vue-multiselect did not virtualize in our test.
Which Vue select lets users type a value that is not in the list?
Vuetify VCombobox, Element Plus ElAutocomplete (or allow-create), Naive UI NAutoComplete, Ant Design Vue AutoComplete, PrimeVue AutoComplete, Quasar’s “Text autocomplete” example and CoreUI Autocomplete accept free text.
Is there a free Vue select that highlights matching text?
Vuetify VAutocomplete renders matched text with VHighlight while you search (visible in its source, not described in the docs). CoreUI Autocomplete has a documented highlightOptionsOnSearch prop in CoreUI PRO.
Is vue-multiselect still maintained?
Yes. Version 3.5.0 is the stable Vue 3 release, and 4.0.0-alpha.0 was published on September 17, 2026.
Is PrimeVue still free?
PrimeVue 5 is free only under the PrimeUI Community License limits. Larger teams need a commercial license from $599 per developer, or can stay on the MIT-licensed PrimeVue 4.