Animation

Fuzzy Text

Canvas-rendered fuzzy text — each row (or column) is offset by a random amount per frame for a TV-static or motion-blur look. Intensity ramps up on hover, click, and during periodic glitch bursts.

Angular adaptation of an effect by David Haz / reactbits.dev.

Import

import { WrFuzzyText } from 'ngwr/fuzzy-text';

Playground

404
<wr-fuzzy-text
  text="404"
  [fuzzRange]="30"
  [baseIntensity]="0.18"
  [hoverIntensity]="0.5"
  direction="horizontal"
  [glitchMode]="false"
/>

Customize

Fuzz Range (px)
30 px
Base Intensity
0.18
Hover Intensity
0.50
Direction
Glitch Mode
Text

API

NameDescriptionTypeDefault
textrequiredText to render.string— (required)
fontSizeFont size as a CSS length or px number.string | number'clamp(2rem, 10vw, 10rem)'
fontWeightFont weight.number | string900
fontFamilyFont family. 'inherit' reads the canvas's computed style.string'inherit'
colorText colour. Ignored if [gradient] is set.string'inherit'
gradientOptional horizontal gradient stops (2+ colours).readonly string[] | nullnull
enableHoverEnable hover / touch reactivity.booleantrue
baseIntensityBase intensity (0..1) when idle.number0.18
hoverIntensityIntensity (0..1) while the pointer hovers the text.number0.5
fuzzRangeMax pixel displacement per row/column at intensity 1.number30
fpsFrame rate cap.number60
directionFuzz direction.'horizontal' | 'vertical' | 'both''horizontal'
transitionDurationMs to ease intensity toward target. 0 snaps.number0
clickEffectSpike to full intensity briefly on click.booleanfalse
glitchModePeriodic glitch bursts at full intensity.booleanfalse
glitchIntervalMs between glitch bursts.number2000
glitchDurationMs a glitch burst lasts.number200
letterSpacingExtra pixels between glyphs.number0