← Prev27/129Next →
ReactBits

ReactBits

DecryptedText

Typewriter-style decrypt animation with scrambled character transitions, sequential or random reveal, and multiple trigger modes. Powered by Motion.

Hover to decrypt (default)

HOVER ME
animateOn="hover"speed=50maxIterations=10

Sequential reveal (start to end)

SEQUENTIAL
sequential=truerevealDirection="start"speed=80

Sequential reveal (center out)

CENTERED
sequential=truerevealDirection="center"encryptedClassName="text-emerald-500/60"

Fast (aggressive scramble)

RAPID
speed=20maxIterations=20encryptedClassName="text-red-500/50"

Custom characters (numbers only)

SYSTEM OK
characters="0123456789"speed=40

Original characters only

ANAGRAM
useOriginalCharsOnly=trueencryptedClassName="text-amber-400/60"

Animate on scroll into view

IN VIEW
animateOn="view"sequential=true

Click to toggle encrypt/decrypt

CLICK ME
animateOn="click"clickMode="toggle"revealDirection="end"

Props

PropTypeDefaultDescription
textstringrequiredText to decrypt/display
speednumber50Interval in ms between character shuffles (lower = faster)
maxIterationsnumber10Number of scramble cycles before revealing final text
sequentialbooleanfalseReveal characters one-by-one in order instead of all at once
revealDirection"start" | "end" | "center""start"Direction for sequential reveal
charactersstringA-Z a-z !@#$%^&*()Character pool for scrambled state
useOriginalCharsOnlybooleanfalseOnly use characters from the original text for scrambling
animateOn"view" | "hover" | "inViewHover" | "click""hover"Trigger mode for the decrypt animation
clickMode"once" | "toggle""once"Click behavior: decrypt once or toggle encrypt/decrypt
classNamestring""Class applied to each revealed character
encryptedClassNamestring""Class applied to each scrambled/encrypted character
parentClassNamestring""Class applied to the outer wrapper span