EN
My tools

SVG Wave Generator

Generate smooth layered SVG waves for section dividers: layers, height, wave size, smoothness, seed and colors. Get the SVG file, markup and CSS background.

The wave stretches to any element width; this only sets the drawing proportions.
More points = more, smaller bumps.
Same seed = same wave. Leave empty for a new random wave each time.
One color for all layers (back layers get lighter opacity), or one color per layer from back to front.
My tools →
Advertisement

Wavy dividers soften the hard line between two page sections. This generator draws one to four layered waves as a single SVG: you choose the height, how large the waves are, how many bumps they have and the colors, and a seed number makes every result reproducible. You get a downloadable SVG file, markup to paste into HTML, and a CSS rule that uses the same SVG as a background image, so no extra file is needed.

How to use this tool

  1. Set the number of layers, the height and the wave size.
  2. Choose how many points each wave has (fewer = long gentle waves).
  3. Pick one color or one per layer, and whether the wave fills below or above.
  4. Change the seed until you like the shape, then copy the markup or CSS or download the SVG.

Formula

yᵢ = base + (2r − 1) × amplitude · segment i: C (Pᵢ + (Pᵢ₊₁ − Pᵢ₋₁)/6) (Pᵢ₊₁ − (Pᵢ₊₂ − Pᵢ)/6) Pᵢ₊₁

r is a seeded random number (mulberry32) between 0 and 1, so the same seed always draws the same wave. The points are joined with a Catmull-Rom spline converted to cubic Bézier curves, which passes through every point without corners.

Example

With seed 1, wave size 100% and 3 points on a 1440 × 320 canvas, the random numbers 0.627, 0.003 and 0.527 place the points at heights 180.3, 80.4 and 164.4, giving the path M0,180.3 C120,163.7 480,83.1 720,80.4 …. With wave size 0 the same settings draw a flat line at y = 160.

Frequently asked questions

How do I put the wave between two sections?

Place the SVG (or a div with the CSS background) at the bottom of the first section and give it the color of the next section, so the wave appears to flow into it. Choose "filled above" for a wave at the top of a section.

Why does the wave stretch?

preserveAspectRatio="none" lets the SVG fill any width at the fixed height, which keeps dividers full-width on every screen. The bumps get wider on large screens, which usually looks natural.

Can I animate the wave?

Yes: generate two versions with different seeds but the same number of points and animate between their path d values with CSS or SMIL, or slide a wider wave sideways with background-position.

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). SVG Wave Generator. https://kakao.mobile/tools/css-wave-generator/

MLA

“SVG Wave Generator.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/css-wave-generator/.

Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms

Advertisement