Skip to content

ChipTextField

A Material-free chip input field built entirely on Compose Foundation. Works with Material 2, Material 3, or any custom design system.

Live Demo

Try the full sample app running as Compose for Web (Wasm) — type text and press Enter to create chips.

Why ChipTextField?

Zero Material dependency

Built on Compose Foundation only. Drop it into Material 2, Material 3, or your own design system without conflicts.

Multiplatform

Android, iOS, Desktop (JVM), and Web (Wasm) from a single API. True KMP.

Slot-based customization

Three levels: tweak colors, add leading/trailing icons via ChipScope, or replace the entire chip with chipContent.

Production features

Suggestions, validation, delimiter support, backspace removal, max chip limits, and read-only mode — all built in.

Platforms

AndroidiOSDesktop (JVM)Web (Wasm)

Quick Example

val state = rememberChipTextFieldState<String>()
ChipTextField(
state = state,
onCreateChip = { text -> text.ifBlank { null } },
placeholder = { Text("Type and press Enter...") },
)