NWD OTP Input (SMS Autofill & PIN) was built to give Bubble the verification code input it never had. It is built for sign-in, two-factor, and PIN flows, and brings one box per character, SMS code autofill on mobile, paste support, and a completed event together in one polished component. Fully customizable through 20+ properties, giving you complete control over every visual and behavioral detail.
This plugin is maintained by
GCS Studios and is part of the
NWD UI - Input family, form controls built from scratch for Bubble, inspired by a personal component library originally built for React. Each one is carefully designed and tested in real applications before release, for the level of control, polish and reliability that native Bubble inputs often do not provide. See more plugins on the
GCS Studios contributor page.




Key FeaturesBuilt for Verification✅ SMS one-time code autofill on iOS and Android
✅ Paste the whole code at once
✅ Numbers, letters, or both, with automatic letter case
✅ PIN mode that hides each typed character
✅ Completed event when all boxes are filled
Fully Customizable✅ 20+ properties for complete visual and behavioral control
✅ 1 to 12 boxes, with optional groups and separator (123-456)
✅ Background and border colors for empty, filled, and active boxes, with a blinking caret
✅ Placeholder character for empty boxes
✅ Seamless integration with native Bubble styles while preserving a consistent appearance across browsers and matching your app design
Smooth User Experience✅ Focus on load for sign-in screens
✅ Leaves focus when the code is complete, closing the keyboard on mobile; tap it again to fix the last character
✅ Backspace removes the last character
✅ Handles required and invalid states with customizable styling
✅ Screen reader ready, with an accessible label and description, and reduced motion support
Workflow Friendly✅ Exposed states for the code, whether it is complete, and its validity
✅ Completed event to verify the code right away, also fired when Set value writes a full code
✅ Initial value available to your workflows even while the element is hidden
✅ Set value action to write the code from a workflow, with the option to apply it even when the input is disabled
✅ Focus action that can be triggered from anywhere for full workflow control
✅ Reset action with flexible behavior that integrates with native Bubble actions or custom workflows
✅ Value changed event for seamless Bubble integration
Reliable & Production-Ready✅ Built with lightweight CSS and JavaScript for fast, reliable performance
✅ Designed around practical use cases and real Bubble development needs
✅ Tested in real-world applications before being released publicly
✅ Created to extend Bubble with functionality and customization beyond what native Bubble elements typically offer
How to test this plugin almost for free?Subscribe and test it for a few days to see if the plugin meets your needs. Subscriptions are billed prorated, so if you cancel after a short period, you'll only pay for the days used.
Explore Our Other PluginsCheck out our complete collection of plugins, including elements, inputs, client-side actions, server-side actions, and APIs. Built to extend native capabilities or introduce new features, based on real-world applications.
Get in TouchWe'd love to hear from you! If you need help, have any questions about our plugins, want to provide feedback, or suggest a feature, please contact us directly.
