text-scramble
A line of text that resolves from random glyphs. Part of
motion-anything; obeys MOTION-SPEC.md. Technique
popularized by Codrops, reimplemented dependency-free.
When to use it
- A hero word / short headline with a technical or futuristic tone; cycling a few phrases on one line.
When NOT to use it (restraint)
- Long text or body copy — unreadable while scrambling. One short line.
- Calm / editorial / luxury tones (feels gimmicky).
How to apply
- Copy
text-scramble.jsinto the project and link it. - Mark the element:
<span class="scramble" data-text="motion, anything"></span> - Auto-plays
data-texton load. To change the phrase later:scrambleTo(el, "next phrase").
Accessibility & performance
- Under
prefers-reduced-motionthe final text appears instantly (no scramble). The resolveddata-textis always the real content. - Swaps text content on rAF; keep the line short so it stays cheap.
Framework notes
- React: keep a ref and call
scrambleTo(ref.current, text)on mount / when the phrase changes.