SVG Blob Generator
Generate smooth organic SVG blob shapes — control complexity, randomness, color, gradient — copy SVG or CSS background instantly
Preview
SVG Code
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 300 300">
<path d="M 150.0 54.5 C 168.8 53.5, 201.8 92.5, 212.0 114.2 C 222.1 136.0, 221.2 161.1, 210.9 185.1 C 200.5 209.2, 183.9 250.5, 150.0 258.4 C 116.1 266.2, 15.9 255.2, 7.5 232.3 C -1.0 209.4, 75.6 150.4, 99.3 120.7 C 123.1 91.1, 131.2 55.6, 150.0 54.5 Z" fill="#3B82F6"/>
</svg>CSS Background (data URI)
background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22300%22%20height%3D%22300%22%20viewBox%3D%220%200%20300%20300%22%3E%0A%20%20%3Cpath%20d%3D%22M%20150.0%2054.5%20C%20168.8%2053.5%2C%20201.8%2092.5%2C%20212.0%20114.2%20C%20222.1%20136.0%2C%20221.2%20161.1%2C%20210.9%20185.1%20C%20200.5%20209.2%2C%20183.9%20250.5%2C%20150.0%20258.4%20C%20116.1%20266.2%2C%2015.9%20255.2%2C%207.5%20232.3%20C%20-1.0%20209.4%2C%2075.6%20150.4%2C%2099.3%20120.7%20C%20123.1%2091.1%2C%20131.2%2055.6%2C%20150.0%2054.5%20Z%22%20fill%3D%22%233B82F6%22%2F%3E%0A%3C%2Fsvg%3E");You need an organic, fluid shape for a hero background, an avatar placeholder, or a decorative section divider — but drawing smooth blobs in a vector editor takes time, and the result is locked to a file. This generator creates smooth, randomized blob shapes from mathematical curves, lets you tune every parameter, and outputs production-ready SVG code or a CSS background-image data URI in seconds.
What Is an SVG Blob?
An SVG blob is a closed, smooth organic shape made from cubic Bézier curves. Unlike regular polygons or circles, blobs have irregular, rounded outlines that feel natural and hand-drawn. They are widely used in modern web design for:
- Hero section backgrounds — soft shapes behind headings or product images
- Avatar backgrounds — colored blob behind a profile photo
- Decorative dividers — replace harsh horizontal rules with flowing shapes
- Card backgrounds — subtle organic fill behind UI cards
- Illustration accents — blob clusters in landing page illustrations
How the Blob Algorithm Works
The generator places anchor points evenly around a circle, then randomly shifts each point’s distance from the center by a controlled amount (the Randomness setting). A smooth cubic Bézier path is fitted through all points using Catmull-Rom to Bézier conversion, which ensures no sharp corners and preserves tangent continuity between segments.
The key parameters:
| Parameter | Effect |
|---|---|
| Complexity | Number of anchor points (3–20). Low = simple, high = more irregular |
| Randomness | How far each point can deviate from the circle (0% = perfect circle, 100% = wild) |
| Width/Height | SVG canvas dimensions |
| Opacity | Global opacity on the shape |
Because the random seed is reproducible, clicking Randomize generates a new shape while keeping all other settings intact.
SVG vs CSS clip-path for Blobs
Both approaches can render organic shapes, but they differ in flexibility:
- SVG is self-contained, portable, and works as an
<img>src, an inline element, or a CSS background. The path data is explicit and can be animated with CSS or GSAP. - CSS clip-path clips an element to a polygon. It cannot be exported as a standalone image and requires vendor prefixes for some older browsers.
For most use cases, SVG is the better choice.
Using the Generated SVG
Inline SVG in HTML
Paste the SVG code directly into your HTML. This allows CSS targeting and animation:
<div class="hero">
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400">
<path d="M ..." fill="#3B82F6" opacity="0.8"/>
</svg>
<h1>Your headline</h1>
</div>
As a CSS Background Image
Use the “Copy as CSS background” output to apply the blob as a background:
.hero {
background-image: url("data:image/svg+xml,%3Csvg...");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
As an <img> Element
Save the SVG file and reference it via <img>:
<img src="blob.svg" alt="" aria-hidden="true" width="400" height="400">
Animating Blob Shapes with CSS
Smooth blob morph animations are possible by animating between two paths with the same number of anchor points:
@keyframes blob-morph {
0%, 100% { d: path("M ...shape1..."); }
50% { d: path("M ...shape2..."); }
}
path {
animation: blob-morph 6s ease-in-out infinite;
}
Note: CSS d property animation requires Chrome 88+ and Firefox 72+. For broader support, use JavaScript libraries like GSAP’s MorphSVG plugin.
Gradient Blobs
Enabling the gradient option applies a linearGradient definition inside the SVG, going from top-left to bottom-right. This is self-contained — the gradient travels with the SVG when used as an image or background.
<defs>
<linearGradient id="blobGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#3B82F6"/>
<stop offset="100%" stop-color="#8B5CF6"/>
</linearGradient>
</defs>
<path d="..." fill="url(#blobGrad)"/>
Browser Support
SVG is supported in all modern browsers. The d path property used for CSS animation of paths has wider support as of 2024, but JavaScript-based animation is safer for production.
Frequently Asked Questions
How do I make the blob shape reproducible?
Each shape is tied to an internal seed value. The same seed produces the same blob. If you want to recreate a specific blob, copy the SVG code — it contains the full path d attribute, which is the complete shape definition.
Can I use these blobs commercially? Yes. The generated SVG code is yours — there are no licenses or attribution requirements.
Why does the shape look like a circle when Randomness is 0%? With zero randomness, all anchor points sit exactly on the reference circle, producing a smooth circular path. Increase Randomness to introduce irregularity.
How do I center the blob on a transparent background?
The blob is already drawn on a transparent SVG canvas. Set the SVG width and height to your desired size and embed it inline or as an <img> tag. The shape will be centered within the canvas.
Does this tool send data to a server? No. All blob generation and SVG output happen entirely in your browser. No data is transmitted to any server.