Rad UI FX

Rad UI FX is a collection of animated React components that stay accessible: 90 effects across text, backgrounds, interactions, components and loading feedback, each with a written accessibility contract.

Stop. Most animations are broken.

Screen readers: lost. Keyboards: stuck. Inner ears: seasick.

Plot twist. What if motion had manners?

90 effects. Every one accessible.

Reduced motion, screen readers, keyboards: handled.

Make it. Copy it. Ship it. Own it.

Rad UI FX. Motion with manners.

All effects

Every card below is live. Open one for its install command, accessibility contract and props.

  • Text

    BlurReveal

    Text that fades in from a soft blur, word by word or letter by letter. Screen readers get the whole sentence once; reduced motion shows it instantly.

  • Text

    Typewriter

    Types text out character by character with a caret. Screen readers get the full text immediately and nothing reflows while typing.

  • Text

    ScrambleText

    Text that decodes from random characters into its final form, on view, on hover, or on mount.

  • Text

    ShimmerText

    A soft highlight sweeping across real, unsplit text.

  • Text

    ColorShiftText

    Text filled with a slowly flowing multi-colour gradient.

  • Text

    WordCycle

    An inline slot that cycles through words, sized to the longest so the sentence never jumps.

  • Text

    CountTo

    A number that counts up to its value when it scrolls into view, formatted with Intl.NumberFormat.

  • Text

    WaveText

    Letters that ripple in a travelling wave, continuously or on hover.

  • Text

    GlitchText

    Text that breaks into offset colour slices in short, occasional bursts.

  • Text

    MarkerHighlight

    A highlighter stroke that sweeps behind words as they scroll into view.

  • Text

    InkUnderline

    A hand-drawn squiggle that draws itself under a word, on view or on hover.

  • Text

    SplitFlap

    Departure-board tiles that flip through characters before landing on the text.

  • Text

    MorphWords

    Words that melt into one another with a gooey liquid morph.

  • Text

    SpotlightText

    A pool of coloured light that follows the pointer across text.

  • Text

    ExtrudedText

    Chunky 3D extruded lettering that tilts toward the pointer.

  • Text

    CircularText

    Text running around a slowly turning circle, with an optional centre icon.

  • Text

    NeonText

    A glowing neon sign with a rare, gentle flicker.

  • Backgrounds

    AuroraBackdrop

    Soft drifting colour glow behind any content. Decorative only, pauses offscreen, and stays still under reduced motion.

  • Backgrounds

    GridBackdrop

    A perspective grid gliding toward the viewer and fading at the horizon.

  • Backgrounds

    DotField

    A dim dot grid with a soft pool of light drifting across it.

  • Backgrounds

    Starfield

    A field of softly twinkling stars, generated from a seed so server and client match.

  • Backgrounds

    MeteorShower

    Occasional streaks of light falling across the background.

  • Interactions

    GlowCard

    A card whose surface lights up under the pointer, and around keyboard focus.

  • Interactions

    PerspectiveCard

    A card that tilts gently toward the pointer, with an optional glare.

  • Interactions

    Magnetic

    Pulls a button or link a little toward the pointer.

  • Interactions

    ClickBurst

    A small burst of sparks from wherever a button is clicked.

  • Interactions

    RevealOnScroll

    Content that fades and slides into place as it scrolls into view.

  • Components

    OrbitBorder

    A comet of light running around an element's border.

  • Components

    Marquee

    A seamless, infinitely scrolling row of items: logos, testimonials, tags.

  • Components

    SlidingTabs

    Rad UI Tabs with an indicator that slides between triggers and content that fades in.

  • Backgrounds

    NoiseGrain

    A film-grain overlay that gives flat surfaces texture, optionally shimmering.

  • Backgrounds

    WaveLines

    Layered waves drifting along the bottom edge, back waves slower for depth.

  • Backgrounds

    LightBeams

    Stage lights shining down from the top edge, gently swaying.

  • Backgrounds

    BubbleField

    Soft bubbles rising and drifting, seeded so server and client match.

  • Backgrounds

    PulseRings

    Rings radiating out from a centre: live status, radar, "on air".

  • Interactions

    Shine

    A band of light that sweeps across a button or card on hover and keyboard focus.

  • Interactions

    PressRipple

    A ripple that spreads from exactly where a button is pressed.

  • Interactions

    ConfettiBurst

    A burst of confetti from wherever a button is clicked.

  • Interactions

    PointerParallax

    Layers that drift with the pointer at different depths.

  • Interactions

    FlipCard

    A card that turns over in 3D to reveal its back.

  • Interactions

    StaggerList

    List items that fade up one after another as the list scrolls into view.

  • Components

    DrawCheckbox

    A native checkbox whose tick draws itself in.

  • Components

    Odometer

    Numbers that roll digit by digit like a mechanical counter.

  • Components

    Dock

    A toolbar of icon buttons that swell as the pointer passes over them.

  • Components

    ToggleSwitch

    An on/off switch whose knob squishes on press and springs across.

  • Components

    CardStack

    A deck of cards you page through, the front card flying to the back.

  • Feedback

    ProgressRing

    A circular progress indicator, determinate or spinning.

  • Feedback

    Skeleton

    A loading placeholder with a soft shimmer.

  • Feedback

    TypingIndicator

    Three bouncing dots for "someone is typing".

  • Feedback

    Loader

    A small loader in three styles: dots, bars or orbit.

  • Text

    WipeReveal

    An editorial wipe: a colour bar sweeps across and leaves the text behind it.

  • Text

    LetterDrop

    Letters that fall in from above and land with a small bounce.

  • Text

    StrikeSwap

    A word gets struck out and its replacement springs in.

  • Text

    FillText

    Outlined letters that flood with colour, in view or on hover.

  • Backgrounds

    LavaLamp

    Wax-like blobs that rise, sink and merge behind content.

  • Backgrounds

    Fireflies

    Little lights wandering on their own paths and glowing on and off.

  • Backgrounds

    CrtOverlay

    Scanlines, a slow rolling band and a vignette over any content.

  • Backgrounds

    HaloGlow

    A slowly turning, blurred colour halo behind a logo, avatar or button.

  • Interactions

    Flashlight

    Hovering darkens everything except a beam that follows the pointer.

  • Interactions

    ExpandStrip

    A row of panels where the one under the pointer or focus widens to show more.

  • Interactions

    CompareSlider

    A before/after comparison with a draggable divider.

  • Interactions

    CopyButton

    A copy button whose icon morphs into a check.

  • Components

    ExpandSearch

    A search button that widens into a field.

  • Components

    Stepper

    Progress steps whose connecting line fills as you advance.

  • Components

    NotificationBell

    A bell that rings and pops its badge when the unread count goes up.

  • Components

    SmoothDetails

    A native <details> disclosure with an animated height.

  • Feedback

    ToastStack

    Stacked toast notifications that fan out on hover or focus.

  • Feedback

    SuccessCheck

    A ring and tick that draw themselves, then pop.

  • Feedback

    ProgressBar

    A progress bar with a moving sheen, determinate or indeterminate.

  • Feedback

    StrengthMeter

    Four bars that fill and change colour with strength, e.g. for passwords.

  • Backgrounds

    Rain

    Slanted rain streaking down behind content.

  • Backgrounds

    Snowfall

    Snowflakes drifting down and swaying.

  • Backgrounds

    DriftClouds

    Soft clouds sailing slowly across.

  • Backgrounds

    Bokeh

    Out-of-focus light orbs, breathing and drifting.

  • Backgrounds

    RippleDrops

    Rings spreading out from drops on a still surface.

  • Backgrounds

    MeshGradient

    Four soft colour fields drifting around each other: a living gradient mesh.

  • Backgrounds

    Sunburst

    Rays fanning out from a point, turning very slowly.

  • Backgrounds

    Vortex

    A slow spiral of colour fading toward the edges.

  • Backgrounds

    StripeFlow

    Diagonal stripes gliding along, softened at the edges.

  • Backgrounds

    Halftone

    Print-style halftone dots with a band of large dots sweeping across.

  • Backgrounds

    HexGrid

    A honeycomb grid with a pool of light drifting across it.

  • Backgrounds

    TileWave

    A grid of tiles lighting up in a diagonal wave.

  • Backgrounds

    ContourLines

    Topographic contour rings around slowly wandering peaks.

  • Backgrounds

    Constellation

    Stars joined to their nearest neighbours, gently twinkling.

  • Backgrounds

    OrbitSystem

    Planets circling concentric orbits behind centred content.

  • Backgrounds

    CodeRain

    Columns of glyphs streaming down, brightest at the leading edge.

  • Backgrounds

    CircuitTraces

    Right-angled circuit traces with pulses of light running along them.

  • Backgrounds

    EqualizerBars

    An audio equaliser along the bottom edge, each bar on its own beat.

  • Backgrounds

    WarpTunnel

    Rounded frames rushing toward the viewer, like flying down a tunnel.

  • Backgrounds

    Hyperspace

    Stars stretching into streaks as they rush out from the centre.

How it's different

  • Accessible by contract. Every component documents and ships its reduced-motion behaviour, what screen readers hear, and how it treats focus. The rules travel with the code, so your agent sees them too. Read the accessibility contract.
  • You own the code. Components are copied into your project through the shadcn CLI, not installed as a black box. Change anything.
  • No animation library required. Most effects are plain CSS. When an effect genuinely needs a library, it says so up front.
  • Built on Rad UI. Interactive effects use Rad UI primitives for behaviour and ARIA, so the animation never comes at the cost of keyboard or screen reader support.

Get started

Install any component in one command:

bash
npx shadcn@latest add https://www.rad-ui.com/r/blur-reveal.json

See Installation for agents and manual setup, then browse the components in the sidebar.