Skip to content
RivetUI

Tags Input

Collects removable free-form values with efficient keyboard entry and paste handling.

@rivetui/tags-input

Preview

Explore each composition interactively, then open its code in the same context.

Default

Capture compact free-form values without opening a separate selection surface.

Note
Press Enter or comma to add a tag. Paste comma-separated values, or press Backspace on an empty input to remove the last tag.
productioneu-central

Registry

Installation

Add the component source and its declared dependencies with the shadcn CLI.

Install component
bunx --bun shadcn@latest add @rivetui/tags-input
Inspect registry item

Public interface

API reference

Component-specific props are listed here. Native element and Base UI props continue to pass through.

TagsInput

PropTypeDefault
valuereadonly string[]—
defaultValuereadonly string[][]
onValueChange(value: string[]) => void—
maxTagsnumberInfinity
validateTag(tag: string) => boolean—
addOnBlurbooleantrue
removeTagLabel(tag: string) => string`Remove ${tag}`
namestring—
disabledbooleanfalse
aria-invalidboolean | stringfalse
classNamestring—
inputClassNamestring—

TagsInputLabel

Accepts native label props. Connect it to TagsInput with matching htmlFor and id values.

Rivet UI / Tags InputComponents engineered, not decorated.