Logo

    Squiggly Text

    A squiggly text effect using SVG turbulence and displacement filters, animated with Motion.

    How many drinks
    are too many drinks?

    Installation

    Run the following command

    npx shadcn@latest add @aceternity/squiggly-text

    Props

    SquigglyText Props

    PropTypeDefaultDescription
    childrenReactNodeThe text or nodes to wrap with the squiggly effect.
    stepsnumber5Number of distinct displacement frames to cycle through. Higher means smoother wobble at the cost of more SVG filters in the DOM.
    stepDurationnumber80Time between filter swaps, in milliseconds. Lower values feel jittery, higher values feel lazy. Full cycle = steps * stepDuration ms.
    scalenumber | [number, number][6, 8]Maximum displacement in pixels. Pass a number for a constant scale, or a tuple to alternate between two values per step.
    baseFrequencynumber0.02Turbulence base frequency. Lower values give longer, smoother waves; higher values give tighter noise.
    numOctavesnumber3Number of turbulence octaves. Higher means more detailed noise.
    as"span" | "div""span"The wrapper element. Use span to keep it inline inside a heading, div for a block-level wrapper.
    classNamestringOptional class names for the wrapper (use this for color, size, font, etc).
    styleCSSPropertiesOptional inline styles for the wrapper. The filter property is reserved by the component.

    Build websites faster and 10x better than your competitors with

    Aceternity UI Pro

    Next.js 15, Tailwind CSS v4 and Motion for react powered templates

    200+ templates and blocks combined

    Ready to copy paste component blocks, save days of development time

    Aceternity UI Pro Demo - Light Mode

    ceternity UI

    Access an ever-growing collection of premium, meticulously crafted templates and Component Blocks.

    A product by Aceternity
    Building in public at @mannupaaji

    © 2026 Aceternity Labs LLC. All Rights Reserved.