Input OTP

One-time-code input with grouped slots, paste and autofill support, blinking caret, pop-in digits and a shake on error.

About Input Otp

One-time-code input with grouped slots, paste and autofill support, blinking caret, pop-in digits and a shake on error.

Input Otp is a free primitive component for React, built on shadcn/ui and Tailwind CSS with motion animations that respect reduced-motion settings. It ships as 106 lines of TypeScript you own: every piece of copy is a prop with a sensible default, so you can drop it in and replace the content without touching the layout.

  • otp
  • verification
  • code
  • pin
  • 2fa

Installation

  1. Add the Chocolate UI registry to your components.json (see the installation guide).
  2. Run the shadcn CLI:
npx shadcn@latest add @chocolate/input-otp

Dependencies installed automatically: motion.

Uses: motion-presets, use-reduced-motion, utils.

Usage

import InputOtp from "@/components/ui/input-otp"

export default function Page() {
  return <InputOtp />
}

FAQ