Pricing
Get Started
  • Introduction
  • Installation
  • MCP Server
  • Saved
Site
  • Builder (Beta)
  • Pricing
  • Roadmap
  • Affiliates
Browse
  • All Components80 New
Text34
  • 3D Letter Swap
  • 3D Text Reveal
  • ASCII Ripple
  • Bending Marquee
  • Blur Highlight
  • Cipher RevealNew
  • Domino LetteringNew
  • Elastic LetteringNew
  • Ghost TypeNew
  • Glitch Text
  • Glyph LotteryNew
  • Gravity LettersNew
  • Label OrbitNew
  • Luminous TypeNew
  • Mesh LetteringNew
  • Orbital TypeNew
  • Particle Text
  • Ribbon TypeNew
  • Rising InkNew
  • Shatter TypeNew
  • Signal TypeNew
  • Smoke TypeNew
  • Speeding Text
  • Spring LetteringNew
  • Staggered Text
  • Stipple TypeNew
  • Tessera TrailNew
  • Text Cube
  • Text MorphNew
  • Text Path
  • Text Scatter
  • Typographic WallNew
  • Vapor TypeNew
  • Wave LetteringNew
Backgrounds98
  • ASCII Tiles
  • Ascii Waves
  • Astral ShellNew
  • Aura Blob
  • Aurora Beam
  • Aurora Blur
  • Axial BeamNew
  • Binary OrbitsNew
  • Black Hole
  • Blinking Dots
  • Blinking Squares
  • Blurred Rays
  • Chroma Blinds
  • Chroma CurrentNew
  • Chroma Waves
  • Cloud AtlasNew
  • Color Loops
  • Concentric TidesNew
  • Contour TideNew
  • Dappled LightNew
  • Dither Wave
  • Dot Shift
  • Eclipse
  • Fading StarsNew
  • Falling Rays
  • Flame Paths
  • Fog Sphere
  • Glass Flow
  • Glass Tiles
  • Glimmer WrapNew
  • Glitter Warp
  • Glowing Ridges
  • Glowing Wave
  • Glue Dots
  • Glyph EmberNew
  • Glyph OrbNew
  • Glyph SonarNew
  • Glyph TideNew
  • Gradient Bars
  • Grain Wave
  • Halftone Vortex
  • Halftone Wave
  • Hexagonal VaultNew
  • Horizon BloomNew
  • Interference RibbonsNew
  • Landscape
  • Light Droplets
  • Lightspeed
  • Liquid Bars
  • Liquid Lines
  • Long Exposure
  • Luminous FilamentsNew
  • Metallic Swirl
  • Minimal Ripple
  • Mosaic
  • Mosaic Waves
  • Neon Reveal
  • Neural Flash
  • Neural Float
  • Neural Tunnel
  • Nexus RaysNew
  • Perspective Grid
  • Photon KnotNew
  • Pixel Rain
  • Prismatic SlatsNew
  • Radial Liquid
  • Ravine
  • Retro Lines
  • Ring FieldNew
  • Rising Lines
  • Rising Particles
  • Rolling Blinds
  • Rotating Stars
  • Rubber Fluid
  • Satin RidgesNew
  • Shader Waves
  • Shadow Bars
  • Silk Waves
  • Simple Swirl
  • Specter Orb
  • Spectral Clouds
  • Spectral DrapeNew
  • Spiral FunnelNew
  • Square Matrix
  • Squares Terminal
  • Squircle Shift
  • Star Swipe
  • Swirl Blend
  • Synaptic Shift
  • Tech Wall
  • Terminal RainNew
  • Thinking Dots
  • Twilight Lines
  • Vortex
  • Voxel ArcNew
  • Warp Twister
  • Watercolor
  • Wireframe Ball
3D & Shaders49
  • Agentic Ball
  • AI Blob
  • Album RailNew
  • Bend Gallery
  • Chrome OrbitNew
  • Circle Stack
  • Concave CarouselNew
  • Constellation GalleryNew
  • Contact SheetNew
  • Depth Card
  • Depth Image
  • Depth RibbonNew
  • Device
  • Dolly Gallery
  • Elastic ReelNew
  • Elastic StickerNew
  • Ember RevealNew
  • Expanding GridNew
  • Frame Border
  • Glass Reveal
  • Globe
  • Gradient Blob
  • Helix GalleryNew
  • Infinite Gallery
  • Inverted Dome
  • Iris GalleryNew
  • Lenticular Carousel
  • Momentum RingNew
  • Page Flip
  • Parallax Carousel
  • Particle Image
  • Particle Morph
  • Passage GalleryNew
  • Pixel Reveal
  • Pixel Sculpt
  • Pixelate Hover
  • Pond ImageNew
  • Portal
  • Prism CarouselNew
  • Rotating Cards
  • Scroll BendNew
  • Scroll Portal
  • Shader Card
  • Shader Reveal
  • Spin ShutterNew
  • Star Burst
  • Tumble Carousel
  • Twisting Gallery
  • Warped Card
Cursor Effects21
  • Arc CursorNew
  • Ascii Cursor
  • Celebration CursorNew
  • Chroma HaloNew
  • Cursor Wave
  • Custom Cursor
  • Dither Cursor
  • Drafting CursorNew
  • Glass Cursor
  • Glyph StreamNew
  • Grid Rise
  • Gyroscope CursorNew
  • Liquid Ascii
  • Parallax Pills
  • Pigment TrailNew
  • Pixel Magnet
  • Ribbon TrailNew
  • Smooth Cursor
  • Snapshot TrailNew
  • Stardust CursorNew
  • User Cursor
UI & Cards28
  • Animated List
  • Card Spread
  • Center Flow
  • Chroma Card
  • Circle Gallery
  • Circles
  • Click Stack
  • Comparison Slider
  • Credit Card
  • Draggable Grid
  • Frame Scrub
  • Gradient Carousel
  • Hover Preview
  • Liquid Swap
  • Loupe ImageNew
  • Magic Transform
  • Modal Cards
  • Orbit ReelNew
  • Parallax Cards
  • Preloader
  • Reel Gallery
  • Scroll Mask
  • Scroll Stack
  • Simple Graph
  • Skewed Carousel
  • Tile Reveal
  • Tilted Tiles
  • Tumble WallNew
  1. Docs
  2. Components
  3. Text
  4. Wave Lettering
PreviousVapor TypeTextNextASCII TilesBackgrounds

Animated components, blocks, and templates for React. Pay once, ship stunning pages forever.

pro@reactbits.dev

Site

HomeBuilder (Beta)PricingTestimonialsFAQsRoadmapChangelogFree Components

Docs

IntroductionInstallationMCP ServerComponentsBlocksTemplates

Resources

AboutUse casesComparisonsAlternativesFor AI agents

Legal & Account

LoginAffiliateLicensePrivacyContact

© 2026 pro.reactbits.dev. All rights reserved.

Wave Lettering

A sea of text lines rolling in soft swells, in and out of focus

wave-lettering-tw

Customize

Crest
Depth
Background
Glyph Size
13px
Rows
30
Font Weight
500
Letter Spacing
0.08em
Perspective
0.55
Tilt
24°
Horizon
0.36
Amplitude
1.60
Wavelength
0.70
Speed
1.00
Direction
0°
Sharpness
0.50
Envelope
0.00
Flow
0.8
Fog
0.60
Focus Depth
0.30
Depth Of Field
0.70
Focus Range
0.14
Strum Strength
1.00
Tension
1.00
Sustain
1.6s

Props

36
NameTypeDefaultDescription
textstring"FORM FOLLOWS FEELING ·"The phrase repeated along every line of the sea.
colors[string, string]["#FFFFFF", "#7C5CFF"]Colour of the text on the crests and nearby, and colour it fades to in the troughs and the distance, blended in OKLab.
backgroundColorstring"#0A0A0A"Colour of the water between the lines. Nearer crests hide the lines behind them in this colour.
mode"auto" | "glow" | "ink""auto"glow lets bright crests burn toward white on dark backgrounds; ink keeps colours true for light ones. auto picks from the background.
fontFamilystringinheritedFont for the lettering. Leave unset to use the page font.
fontWeightnumber500Font weight.
letterSpacingnumber0.08Letter spacing in em.
glyphSizenumber13Size of the nearest line of text, in pixels. Lines further away get smaller.
rowsnumber30Number of lines of text, from 2 to 64.
perspectivenumber0.55Depth of the view, from 0 (a flat stack of lines, like a ridgeline chart) to 1 (a deep sea running to the horizon).
tiltnumber24How steeply you look down at the sea, in degrees.
horizonnumber0.36Where the furthest line sits, as a fraction of the height from the top. Leaves room for a headline above.
amplitudenumber1.6Height of the swell, measured in line spacings.
wavelengthnumber0.7Length of the swell relative to the width of the frame.
speednumber1Time scale for the swell.
directionnumber0Direction the swell travels, in degrees. 0 rolls toward you.
sharpnessnumber0.5How peaked the crests are, from 0 (rounded) to 1 (sharp).
envelopenumber0Gathers the swell toward the centre, from 0 (even) to 1 (peaks in the middle, flat at the sides).
flownumber0.8Speed the text drifts along its line, in em per second. Negative values drift the other way.
alternatebooleanfalseNeighbouring lines drift in opposite directions.
fognumber0.6How quickly distant lines fade, from 0 to 3.
interactivebooleantrueRespond to the pointer.
hoverFocusbooleantrueThe lens racks focus to follow the pointer: the lines at the pointer's depth turn crisp while nearer and farther lines soften, then focus eases back to focusDepth when the pointer leaves.
focusDepthnumber0.3Where the lens rests, from 0 (the nearest line) to 1 (the horizon).
depthOfFieldnumber0.7How soft the out-of-focus lines get, from 0 (everything sharp) to 1.
focusRangenumber0.14Depth of the sharp band around the focus, as a fraction of the sea.
clickStrumbooleantrueClicking strums the lines: a soft ripple runs along each one, spreading out from the line you clicked.
strumStrengthnumber1Height of the strum ripple, from 0 to 3.
tensionnumber1How fast a strum ripple runs along the lines.
sustainnumber1.6Seconds a strummed line keeps ringing.
pausedbooleanfalseFreeze the sea. Reduced-motion users always get a still frame.
qualitynumber1Resolution scale from 0.25 to 1.
ref{ strum }—strum(x, y) strums the lines from a point given as fractions of the width and height.
childrenReactNode—Content placed over the sea.
classNamestring—Classes for the root element. It fills its parent, with a 240px minimum height.
styleCSSProperties—Inline styles for the root element.
textstring

The phrase repeated along every line of the sea.

Default"FORM FOLLOWS FEELING ·"
colors[string, string]

Colour of the text on the crests and nearby, and colour it fades to in the troughs and the distance, blended in OKLab.

Default["#FFFFFF", "#7C5CFF"]
backgroundColorstring

Colour of the water between the lines. Nearer crests hide the lines behind them in this colour.

Default"#0A0A0A"
mode"auto" | "glow" | "ink"

glow lets bright crests burn toward white on dark backgrounds; ink keeps colours true for light ones. auto picks from the background.

Default"auto"
fontFamilystring

Font for the lettering. Leave unset to use the page font.

Defaultinherited
fontWeightnumber

Font weight.

Default500
letterSpacingnumber

Letter spacing in em.

Default0.08
glyphSizenumber

Size of the nearest line of text, in pixels. Lines further away get smaller.

Default13
rowsnumber

Number of lines of text, from 2 to 64.

Default30
perspectivenumber

Depth of the view, from 0 (a flat stack of lines, like a ridgeline chart) to 1 (a deep sea running to the horizon).

Default0.55
tiltnumber

How steeply you look down at the sea, in degrees.

Default24
horizonnumber

Where the furthest line sits, as a fraction of the height from the top. Leaves room for a headline above.

Default0.36
amplitudenumber

Height of the swell, measured in line spacings.

Default1.6
wavelengthnumber

Length of the swell relative to the width of the frame.

Default0.7
speednumber

Time scale for the swell.

Default1
directionnumber

Direction the swell travels, in degrees. 0 rolls toward you.

Default0
sharpnessnumber

How peaked the crests are, from 0 (rounded) to 1 (sharp).

Default0.5
envelopenumber

Gathers the swell toward the centre, from 0 (even) to 1 (peaks in the middle, flat at the sides).

Default0
flownumber

Speed the text drifts along its line, in em per second. Negative values drift the other way.

Default0.8
alternateboolean

Neighbouring lines drift in opposite directions.

Defaultfalse
fognumber

How quickly distant lines fade, from 0 to 3.

Default0.6
interactiveboolean

Respond to the pointer.

Defaulttrue
hoverFocusboolean

The lens racks focus to follow the pointer: the lines at the pointer's depth turn crisp while nearer and farther lines soften, then focus eases back to focusDepth when the pointer leaves.

Defaulttrue
focusDepthnumber

Where the lens rests, from 0 (the nearest line) to 1 (the horizon).

Default0.3
depthOfFieldnumber

How soft the out-of-focus lines get, from 0 (everything sharp) to 1.

Default0.7
focusRangenumber

Depth of the sharp band around the focus, as a fraction of the sea.

Default0.14
clickStrumboolean

Clicking strums the lines: a soft ripple runs along each one, spreading out from the line you clicked.

Defaulttrue
strumStrengthnumber

Height of the strum ripple, from 0 to 3.

Default1
tensionnumber

How fast a strum ripple runs along the lines.

Default1
sustainnumber

Seconds a strummed line keeps ringing.

Default1.6
pausedboolean

Freeze the sea. Reduced-motion users always get a still frame.

Defaultfalse
qualitynumber

Resolution scale from 0.25 to 1.

Default1
ref{ strum }

strum(x, y) strums the lines from a point given as fractions of the width and height.

Default—
childrenReactNode

Content placed over the sea.

Default—
classNamestring

Classes for the root element. It fills its parent, with a 240px minimum height.

Default—
styleCSSProperties

Inline styles for the root element.

Default—