Liquid Warp

Interactive & Advanced · Animated · pure CSS

An SVG turbulence + displacement filter wobbles the glyph edges, animated so the letters ripple like they're underwater. A liquid showpiece.

Liquid Warp

How it works

Liquid Warp is an animated interactive & advanced text effect rendered entirely in CSS. It relies on an inline SVG <defs> block (filters, gradients or clip-paths), which the HTML export carries alongside the CSS.

Controls

Liquid Warp exposes 3 dedicated controls — Hue, Warp and Speed — on top of the shared type controls (font, weight, letter-spacing and case). Open it in the generator to tune every value live, then copy the updated CSS.

CSS

/* Liquid Warp — generated with TEXT-FX
 * HTML: requires the inline <svg> filter defs — see the HTML export.
 * Font: 'Unbounded', sans-serif (load from Google Fonts).
 */

.text-effect {
  font-family: 'Unbounded', sans-serif;
  font-weight: 700;
  letter-spacing: 8px;
  text-transform: none;
}

.text-effect {
  color: hsl(265 85% 64%);
  filter: url(#text-effect-warp);
}

HTML

This effect needs the markup below (per-letter spans, SVG defs, or a data-text attribute).

<style>
.text-effect {
  font-family: 'Unbounded', sans-serif;
  font-weight: 700;
  letter-spacing: 8px;
  text-transform: none;
}

.text-effect {
  color: hsl(265 85% 64%);
  filter: url(#text-effect-warp);
}
</style>

<svg width="0" height="0" style="position:absolute" aria-hidden="true"><defs>
<filter id="text-effect-warp" x="-25%" y="-25%" width="150%" height="150%">
  <feTurbulence type="fractalNoise" baseFrequency="0.012 0.022" numOctaves="2" seed="5" result="n">
    <animate attributeName="baseFrequency" dur="5.7s" values="0.012 0.022;0.02 0.014;0.012 0.022" repeatCount="indefinite"/>
  </feTurbulence>
  <feDisplacementMap in="SourceGraphic" in2="n" scale="10" xChannelSelector="R" yChannelSelector="G"/>
</filter>
</defs></svg>

<div class="text-effect">Your text</div>
Category
Interactive & Advanced
Type
Animated
Browser support
SVG feTurbulence + feDisplacementMap (SMIL-animated) via filter:url(#…)
Capabilities
svgDefs

Related Interactive & Advanced effects