Scalar UI
Marketing UIApp UIAIChartsBackgrounds
Sign inGet started
Scalar UI
Scalar UI© 2026 Scalar Limited

React · Tailwind CSS · Motion

Browse

HomeAll components 213

Collections

Marketing UI 107App UI 94AI 16Charts 45Backgrounds 2Text 43

More

Text 43

Getting started

Installation

Primitives

AccordionsAlert DialogsAlerts2Aspect RatiosAvatars2BadgesBreadcrumbsButton GroupsButtons2CalendarsCheckboxesCollapsiblesComboboxesCommand MenusContext MenusDate PickersDialogsDropdown MenusEmpty StatesFields2FormsHover CardsInput OTPInputs3KbdMenubarsNavigation MenusPaginationPassword InputsPopoversProgress2Radio GroupsResizableScroll AreasSelectsSeparatorsSheetsSkeletonsSlidersSpinnersSwitchesTablesTabsToastsToggles2ToolbarsTooltipsSortablesStatus DotsTree ViewsFile UploadsSteppers

Layouts

SidebarsNavbarsApp Shells

Blocks

SchedulersBoards3CanvasesWorkflowsAI apps4Developer tools3AuthenticationOnboardingSettingsPricing & upgrades2Help & feedback4System pages7Admin console

Other

Cards

Resources

Docs & installScalar Design
App UIPrimitives

Input OTP

A one-time code field with a box per character; pasting a code fills every box.

PreviousHover CardsNextInputs

On this page

DefaultGroupedVariantsWith PasteAlphanumericMaskedSizeInvalid and Disabled

Input OTP

radix-ui · motion

Default

Six digits.

Grouped

groups={[3, 3]} or [2, 2, 2] puts a dash between groups.

Variants

outline (default), soft, underline and joined.

With Paste

Copy the code, click a box and paste: every box fills.

Alphanumeric

validationType="alphanumeric" for recovery codes.

Masked

type="password" shows dots, for PINs.

Size

sm, md (default) and lg.

Invalid and Disabled

invalid for a rejected code; disabled while checking.