Wave generation math
The curve samples y = baseline + sin(2πx / wavelength) * amplitude across the viewport width, then closes the shape to form a fillable path.
Create responsive SVG wave backgrounds with adjustable amplitude, wavelength and color.
Updated
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 240" preserveAspectRatio="none"><path fill="#0ea5e9" d="M 0 240 L 0 110 L 0 110 L 20 123.012249 L 40 133.043548 L 60 137.795848 L 80 136.180455 L 100 128.567434 L 120 116.700839 L 140 103.299161 L 160 91.432566 L 180 83.819545 L 200 82.204152 L 220 86.956452 L 240 96.987751 L 260 110 L 280 123.012249 L 300 133.043548 L 320 137.795848 L 340 136.180455 L 360 128.567434 L 380 116.700839 L 400 103.299161 L 420 91.432566 L 440 83.819545 L 460 82.204152 L 480 86.956452 L 500 96.987751 L 520 110 L 540 123.012249 L 560 133.043548 L 580 137.795848 L 600 136.180455 L 620 128.567434 L 640 116.700839 L 660 103.299161 L 680 91.432566 L 700 83.819545 L 720 82.204152 L 740 86.956452 L 760 96.987751 L 780 110 L 800 123.012249 L 820 133.043548 L 840 137.795848 L 860 136.180455 L 880 128.567434 L 900 116.700839 L 920 103.299161 L 940 91.432566 L 960 83.819545 L 980 82.204152 L 1000 86.956452 L 1020 96.987751 L 1040 110 L 1060 123.012249 L 1080 133.043548 L 1100 137.795848 L 1120 136.180455 L 1140 128.567434 L 1160 116.700839 L 1180 103.299161 L 1200 91.432566 L 1200 240 Z"/></svg>
Quick start
Adjust amplitude and wavelength, then copy the SVG path output.
Tune amplitude, wavelength, baseline and fill color.
Validate the responsive wave preview against your design.
Paste the generated SVG into your HTML, Astro or React component.
In-depth guide
Create smooth, responsive SVG wave backgrounds for modern hero sections and visual dividers.
The curve samples y = baseline + sin(2πx / wavelength) * amplitude across the viewport width, then closes the shape to form a fillable path.
Use preserveAspectRatio="none" when the wave must stretch full-width, or keep default aspect ratio for decorative embeds.
Use this tool for quick browser-based work when you need an answer or output immediately. Use a dedicated application or automated workflow when you need bulk processing, approvals, or repeatable production rules.
Browser-first by design. The tool page explains any exception before you use it.
Your input is handled in the browser wherever the tool can process it locally. EpitomeTool does not add an upload step unless a tool page explicitly says so.
Yes. The generated SVG is resolution-independent and ideal for hero or section separators.
It controls horizontal distance between peaks. Lower values create tighter waves; higher values create broader waves.
No. The path math runs in your browser and never uploads data.
Keep exploring
Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.
Generate layered-looking box shadows with visual controls for offset, blur, spread and opacity.
Create custom rounded corners visually and copy exact border-radius CSS shorthand.
Build responsive CSS grid layouts with live rows, columns and gap controls.
Shrink PDF file size without uploading to a server.
Body Mass Index with metric / imperial inputs and WHO category bands.
Combine multiple PDFs into one in your browser.
Split a PDF by pages or page ranges, download as zip.