Code Field
A six digit code input. Each digit drops into its box, a right code sends a green wave across, a wrong one shakes the digits out.
Get the file
Runtime
.rivReady to use in your app or website.
$4.99
Editable
.rev + .rivOpen it in the Rive editor and change anything. The .riv is included.
$9.99

Learn to build it
Full accessBuild this yourself, step by step. Every file in the library is included.
Courses from $119
Own a course? Sign in and every file is yours.
Use it in your own products and client work. Please don't resell or share the files themselves.
Using this file
The licence →Can I use it in a commercial product or a client project?
Yes. Use it in your own apps, websites and games, and in work you do for clients, paid or not. Change it as much as you like. Read the full licence
Can I resell or share the file?
No. Please don't resell, redistribute or re-upload the files, as they are or changed, and don't bundle them into templates, asset packs or UI kits, free or paid. If someone wants one, share a link to this page instead. Read the full licence
Do I need to credit you?
No, credit isn't required. A mention or a link back is always appreciated, though. Read the full licence
What's the difference between the .riv and the .rev?
The .riv is the runtime file: it goes into your app or website and plays there. The .rev is the editable source: you open it in the Rive editor to change the design, the animation or the state machine, then export your own .riv. Read the full licence
I own a course. Do I get it?
Yes. If you own the Rive Masterclass or the Rive Scripting Course, every file in the library is yours, the .riv and the .rev. Sign in with the email you bought the course with and the downloads unlock. Read the full licence
Who owns the files?
The files stay © Tom Acco / Rive Masterclass. When you download or buy one, you get a licence to use it, not ownership of it. Read the full licence
Use it on your site
import { useRive } from '@rive-app/react-canvas';
export function CodeField() {
const { rive, RiveComponent } = useRive({
src: '/form-code.riv',
artboard: 'Code Field',
stateMachines: 'State Machine 1',
autoplay: true,
autoBind: true,
});
// every input on this page is a view model property
const vm = rive?.viewModelInstance;
if (vm) vm.color('boxColor').value = 0xFFFFFFFF;
return <RiveComponent style={{ width: '100%', height: 400 }} />;
}Inputs: text, code, fontSize, disabled, success, error, sparkles, boxColor, borderColor, focusColor, textColor, successColor, errorColor, disabledColor. All on the CodeField view model.
How it's built
From the Form Set: the one-time code screen, six boxes over a real text input. Each digit lands in its box with a little squash and a caret waits in the next one. When all six are in, a right code runs a green wave with a hop and a small burst, and a wrong code turns the boxes red, tilts the row and drops the digits so you can try again. Set the right code, or leave it empty and answer from your server with success or error. Pick every colour, and disabled greys it out and ignores taps.
- 1One stringtext is the code typed so far, bound both ways to a real text input. A small script keeps digits only, six at most, and sets complete when all six are in.
- 2A digit per boxA Digit converter hands each box its own digit straight from text. Each box is three states (Empty, Drop, Filled), and the next empty box shows the focus border and the caret.
- 3Right or wrongSet code and the field judges itself. Leave it empty, wait for complete, and set success or error from your app. A wrong code clears the field after the shake.
- 4Baked motionThe drop, the green wave and the red tilt come from springs, sampled into timelines. Open Right and Wrong in the editor and tweak the keys.



