PureDevTools

SVG Blob Generator

Generate smooth organic SVG blob shapes — control complexity, randomness, color, gradient — copy SVG or CSS background instantly

All processing happens in your browser. No data is sent to any server.
6
50%
300px
300px
100%

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 value
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:

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:

ParameterEffect
ComplexityNumber of anchor points (3–20). Low = simple, high = more irregular
RandomnessHow far each point can deviate from the circle (0% = perfect circle, 100% = wild)
Width/HeightSVG canvas dimensions
OpacityGlobal 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:

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.

Related Tools

More CSS Tools