Fast, touch-friendly picker for React and vanilla JS.
Type to filter on desktop, tap to select on mobile.
These are real widgets running in your browser. Try typing to filter (desktop) or tapping to select (mobile).
Pass a plain string array. One line of code.
Placeholder, label, change callback.
CSV shorthand — "CA:California,NY:New York"
Set value to pre-select an item.
Works great with long lists. On desktop, start typing to narrow results — try "new" or "north".
Everything you need from a picker, nothing you don't.
On desktop, just start typing in the input. The grid filters instantly. Enter selects the first match.
On mobile, tap to open a bottom sheet with large tap targets. Tap backdrop to close. Input stays read-only.
Arrow keys, Home/End, Tab to close, Escape to dismiss. Full keyboard support without a mouse.
role="listbox", aria-selected, aria-haspopup. Screen reader tested.
Use as React components or drop in a single <script> tag. Web Components under the hood.
Auto column count based on label length. Auto-positioning above/below. Reduced motion support.
Two ways to use Quickpick — pick the one that fits your project.