Skip to content

OTP input

One-time-code entry. Auto-advances, handles backspace and paste, supports SMS autofill on the first box.

CSS + mian.js JSON Markdown Registry item

Six digits

Installation

Everything ships in one stylesheet and one small script. There is nothing to import per component.

<link rel="stylesheet" href="https://mian.ro/dist/mian.css">
<script src="https://mian.ro/dist/mian.js" defer></script>

Prefer to own the files? /r/otp-input.json is a registry item with this component's CSS and example markup, ready to copy into your project with any tool that reads the open registry-item format.

Class reference

Class / attributeDescription
mn-otpWrapper around N inputs.
data-mn-otp="alphanumeric"Allow letters too.
mn-otp-sepVisual separator.

Accessibility

  • Wrap in a fieldset or give the group role="group" and a label. Each box gets "Character n of N". Emits mn:complete with the full code.
Choose a noodle

Minimal

Flat

Pixel

Linear

Thin

Glass

Textured

Bold

Elegant

Rounded

On this page