Ballmac UI home

Tag Input

Enter, paste, and remove text tags with duplicate prevention, limits, and keyboard shortcuts.

Project labels

Keep related work easy to find.

DesignLaunch

2 of 5 tags · Enter to add, Backspace to remove

Installation

$ pnpm dlx shadcn@latest add @ballmac/tag-input

Usage

import { TagInput } from "@/components/ballmac/tag-input"

The full example is in the Code tab above.

Examples

States and variants

Add skills

0 of 3 tags · Enter to add, Backspace to remove

API reference

PropTypeDefault
value

Controlled tag list.

string[]—
defaultValue

Initial tag list when uncontrolled.

string[][]
onValueChange

Called with the complete list after edits.

(value: string[]) => void—
maxTags

Maximum number of tags.

number8
maxLength

Maximum characters per tag.

number32
placeholder

Placeholder shown when the list is empty.

string—
label

Accessible name for the text field.

string—
name

Name used for repeated hidden form inputs.

string—
disabled

Disable editing.

booleanfalse

Also accepts the standard attributes of its root element.

Accessibility

KeyAction
Enter / commaAdds the typed tag
BackspaceRemoves the last tag when empty
Tab / EnterFocuses and activates remove buttons

Use with AI

Enter, paste, and remove text tags with duplicate prevention, limits, and keyboard shortcuts. With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Tag Input (@ballmac/tag-input) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • Enter free-form labels or skills
  • Edit a small set of keywords

Not for

  • Use multi-select for a fixed set of options

Registry JSON: https://ui.ballmac.com/r/tag-input.json

Credits

Free to use in personal and commercial projects.