> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuturuuu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Input OTP

> Preview Input OTP, copy setup snippets, review examples, and inspect API exports for @tuturuuu/ui/input-otp.

<Info>
  Explore the live, interactive preview at [tuturuuu.com/ui/components/input-otp](https://tuturuuu.com/ui/components/input-otp).
</Info>

**Category:** Inputs · **Import:** `@tuturuuu/ui/input-otp` · **Status:** Live preview

## Installation

Install the shared UI package, import global styles once, then import the component from its public subpath.

```bash theme={null}
bun add @tuturuuu/ui
```

```tsx theme={null}
import '@tuturuuu/ui/globals.css';
import { InputOTP, InputOTPGroup, InputOTPSlot } from '@tuturuuu/ui/input-otp';
```

## Usage

Copy the default usage snippet and adapt labels, state, and event handlers to the product surface.

```tsx theme={null}
import { InputOTP, InputOTPGroup, InputOTPSlot } from '@tuturuuu/ui/input-otp';

<InputOTP maxLength={6}>
  <InputOTPGroup>{[0, 1, 2].map((index) => <InputOTPSlot key={index} index={index} />)}</InputOTPGroup>
</InputOTP>
```

## Examples

Examples reuse the registry snippets so the docs stay aligned with the component catalog.

### Default

A minimal implementation using the current registry snippet.

```tsx theme={null}
import { InputOTP, InputOTPGroup, InputOTPSlot } from '@tuturuuu/ui/input-otp';

<InputOTP maxLength={6}>
  <InputOTPGroup>{[0, 1, 2].map((index) => <InputOTPSlot key={index} index={index} />)}</InputOTPGroup>
</InputOTP>
```

### Composition

Use the grouped exports when the primitive has slots, triggers, content regions, or providers.

```tsx theme={null}
import {
  InputOTP,
  InputOTPGroup,
  InputOTPSlot,
} from '@tuturuuu/ui/input-otp';
```

### Package import

Import through the public package path so workspace and external apps share the same contract.

```tsx theme={null}
// Public package import
import { InputOTP } from '@tuturuuu/ui/input-otp';

// Workspace apps should keep importing through the package boundary.
```

## API reference

The public exports currently available from this component entry.

| Export          | Kind      |
| --------------- | --------- |
| `InputOTP`      | component |
| `InputOTPGroup` | component |
| `InputOTPSlot`  | component |

## Customization

Common props, states, and composition points to review before using this component.

* Length
* Separator
* Masking

## Related components

* [Calendar](./calendar)
* [Checkbox](./checkbox)
* [Color Picker](./color-picker)
