Generate smooth SVG wave dividers for landing pages — adjustable waves, amplitude, layers, seed — flip top/bottom — export SVG / CSS — browser-only
- Runs locally
- Category Color & Design
- Best for Moving from a visual idea to reusable color values.
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320" width="1440" height="320" preserveAspectRatio="none"><defs><linearGradient id="waveGrad" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="0%" stop-color="#8b5cf6"/><stop offset="100%" stop-color="#06e6d7"/></linearGradient></defs><path fill="url(#waveGrad)" fill-opacity="1" d="M 0 114.05 C 120 114.05, 120 199.62, 240 199.62 C 360 199.62, 360 122.58, 480 122.58 C 600 122.58, 600 201.36, 720 201.36 C 840 201.36, 840 121.34, 960 121.34 C 1080 121.34, 1080 198.94, 1200 198.94 C 1320 198.94, 1320 114.32, 1440 114.32 L 1440 320 L 0 320 Z"/></svg>
What this tool does
Generate the smooth wavy edge that ends almost every modern marketing section — the soft curve between a coloured hero and the white block below it, instead of a hard horizontal line. Set the number of wave crests, dial the amplitude (how tall the wave rises), add irregularity so the crests are not mechanically identical, and stack up to four translucent layers for the parallax-wave look you see on Linear, Stripe and Framer sites. Each wave is drawn as a single smooth cubic-Bezier path that spans the full width and closes into a filled area, so it drops straight into your section as a divider.
A deterministic seed drives the shape, so the same seed always reproduces the exact same wave on every device — a share link round-trips pixel-for-pixel, and the Randomize button just rolls a new seed. Flip the whole wave vertically to turn a section-bottom divider into a hero-top divider. Fill with a solid colour or a two-stop linear gradient, then export two ways: copy the raw SVG markup, or copy a ready-to-paste CSS block that sets the wave as an inline data-URI background. You can also download a standalone .svg file. Everything runs client-side with a seeded PRNG (no Math.random), so waves are reproducible and nothing you type ever leaves the browser tab.
Tool details
- Input
- Files + Numbers
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy + Download
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 14 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Color & Design · Designer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How SVG Wave Generator fits into your work
Use it while choosing, checking, converting, or documenting colors for real interface work.
Color jobs
- Moving from a visual idea to reusable color values.
- Checking contrast and accessibility before a UI ships.
- Keeping brand, design, and implementation color decisions aligned.
Color checks
- Verify contrast against the actual background, not just a sample swatch.
- Check dark and light themes separately when both exist.
- Copy the final format your design system or codebase expects.
Good next steps
These links move the current task into a more complete workflow.
- 1 SVG Blob Generator Generate smooth organic blob shapes — adjustable complexity, randomness, seed — export SVG / CSS clip-path — 100% browser-only Open
- 2 CSS Clip-Path Generator Visual CSS clip-path builder — polygon, circle, ellipse, inset with drag handles. Open
- 3 CSS Gradient Generator Visual CSS gradient builder — linear, radial, conic with multi-stop colors, live preview, copy CSS, PNG export. Open
Real-world use cases
Soft divider between a coloured hero and the section below
The most common use: a coloured hero band that melts into the white content section under it. Workflow: set waves to 2 or 3, amplitude to about 0.4, irregularity low (around 0.2) for a calm corporate curve, keep Flip off, and match the fill colour to your hero background. Copy the SVG, then position it absolutely at the bottom of the hero with `bottom: 0; width: 100%` and a small negative margin so it overlaps the seam. Because the seed is in the markup, you can regenerate the exact same divider later if the brand colour changes.
Curved top edge sitting under a hero headline
For a coloured band that the hero text sits on top of, you want the wave arcing up into the section above. Generate the wave, turn Flip on, and the same shape mirrors vertically. Stack it at the top of the band with `top: 0`. Pair it with the non-flipped version of the SAME seed at the bottom and you get a symmetric coloured ribbon — top and bottom edges that mirror each other — from a single generated shape.
Layered parallax waves at a page footer
The "ocean" footer — three or four translucent wave layers in tints of one brand colour, the kind you see on SaaS pricing pages. Set layers to 3 or 4, pick a gradient fill, and the tool stacks each layer behind the last at lower opacity with a shifted seed so the crests do not line up. Export the SVG and drop it as the footer background. For a living footer, animate each layer's `transform: translateX` at a different speed in CSS to fake depth.
Decorative wave behind feature cards
Instead of a flat background, export a low-amplitude wave in a very light tint and place it behind a row of feature cards as an ambient shape. Set amplitude around 0.25 and irregularity around 0.4 so it reads as a gentle organic band rather than a rigid sine wave. Because each download is a standalone .svg, you can hand the file to a designer or drop it straight into Figma, Webflow or Framer as an image asset without writing any code.
Matching wave variations for a multi-section page
A long landing page often alternates coloured sections, and using the identical wave on every seam looks mechanical. Lock waves, amplitude and layers, then step the seed by hand (seed 2001, 2002, 2003). Each seed yields a distinct but tonally consistent divider, and the seeds are documented right in your design tokens so any teammate can regenerate the exact same set of dividers months later.
Common pitfalls
Forgetting `preserveAspectRatio="none"` when you stretch the wave. A divider almost always spans 100% width but a fixed height, which distorts the viewBox. This tool already emits `preserveAspectRatio="none"` so the wave stretches edge to edge instead of letterboxing — keep it if you edit the markup by hand, or the wave will refuse to fill the width.
Leaving a hairline gap at the seam. The wave path closes to the bottom (or top) edge of its own viewBox, not to your section. If you place it flush at `bottom: 0` you can get a 1px sub-pixel gap on some zoom levels. Nudge it with a small negative margin (for example `margin-bottom: -1px`) so the filled edge overlaps the section colour underneath.
Mismatching the fill colour to the wrong section. For a bottom divider the wave's fill must match the section ABOVE it (the wave is the trailing edge of that section dipping down). It is easy to colour it like the section below by mistake, which inverts the effect. Check which section the curve belongs to before picking the fill.
Privacy
Every part of this tool — the seeded PRNG, the cubic-Bezier wave path math, the SVG and CSS serialization, the data-URI encoding — is plain JavaScript that runs entirely in your browser tab. No shape, colour or seed is ever sent to a server, there is no analytics on what you generate, and nothing is logged. The one privacy caveat: the shareable URL encodes your current seed and settings in the query string, so if you paste a share link with unreleased brand colours into a public channel, the destination server's access log will record those values. For one-off waves that is harmless; for confidential brand work, copy the SVG manually instead of sharing the URL.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- ASCII Art Generator Generate ASCII art from text — figlet-style banners, multiple fonts.
- Aspect Ratio Calculator Calculate aspect ratio — fix any 1 of [width, height, ratio], get the other two.
- Avatar Generator Generate avatars from initials, identicons, or random shapes. Download PNG/SVG.
- Base64 Encoder & Decoder Encode or decode Base64 — text, files, and Data URLs. Runs entirely in your browser.