Generate smooth organic blob shapes as clean SVG, with a seed you can reproduce.
Generated in your browser — download as SVG.
How do you make an SVG blob shape?
Place points evenly around a circle, shorten each radius by a random amount, then join them with a closed Catmull-Rom spline converted to cubic bezier curves. Fewer points with high randomness give bold lumpy shapes; more points give gentle waves. A fixed seed makes the result reproducible.
Understanding your result
The seed matters more than it first appears. Without one, every regeneration would be unrepeatable, so a shape you liked could never be recovered; with one, the blob is a pure function of your settings and can be reproduced exactly at any time. For visual results, fewer points with high randomness gives bold, characterful shapes, while more points with the same randomness produces gentle waves — because each individual deviation is smaller relative to its neighbours. Since the output is a single path, you can recolour it with CSS, animate the fill, or use it directly as a clip-path or mask.
Formula and method
Points are placed evenly around a circle, then each radius is shortened by a random amount up to the randomness percentage. Those points are joined with a closed Catmull-Rom spline converted into cubic bezier segments, which is what makes the outline continuously smooth rather than angular.
Assumptions and limitations
The output is a decorative shape, not an icon or logo — it has no semantic meaning and should be marked as presentational for screen readers. Very high randomness with few points can produce self-intersecting shapes that look pinched, so raise the point count if the outline crosses itself. Only solid fills and simple two-stop linear gradients are supported; strokes, shadows and multi-stop gradients need editing afterwards.
Worked example
Six points at 35% randomness with seed 12345 produces a gently lopsided blob in a single path of six bezier curves — small enough to inline directly in your HTML.
How to use this tool
- Set how many points the blob should have.
- Raise randomness for a lumpier shape, lower it for a gentler one.
- Change the seed until you find a shape you like.
- Pick your colours and download the SVG.
Common mistakes to avoid
- Pushing randomness so high the outline crosses itself.
- Exporting at a fixed pixel size when SVG scales freely anyway.
- Forgetting to mark decorative shapes as presentational for accessibility.
- Losing a shape you liked by not noting its seed.
About the SVG Blob Generator
The SVG Blob Generator creates the smooth organic shapes used behind hero sections, avatars and illustrations. Adjust how many points the shape has and how irregular they are, pick a solid colour or gradient, and download a clean single-path SVG.
Who should use this tool
Web designers and front-end developers building modern landing pages and decorative backgrounds.
Benefits
- Seeded generation — the same seed always reproduces the same blob.
- Output is one clean path, not a mesh of overlapping shapes.
- Optional two-colour gradient built into the SVG.
- Scales to any size without losing sharpness.
Practical use cases
- Adding an organic background shape to a hero section.
- Creating a decorative mask for a profile image.
- Building abstract shapes for an illustration or presentation.
- Generating a soft container behind a call-to-action.
Frequently asked questions
What is the seed for?
It makes generation reproducible. The same seed and settings always produce exactly the same blob, so you can note it down and recover a shape later.
How do I get a different shape?
Change the seed to any other number. Adjusting points or randomness also changes the shape, but the seed alone gives you endless variations of the same style.
Can I use these commercially?
Yes. The shapes are generated mathematically from your settings, so there is no third-party artwork and no licence attached to the output.
How do I change the colour later?
Edit the fill attribute in the SVG, or inline the SVG in your HTML and set fill from CSS so it can respond to themes.
Why does my blob look pinched?
Very high randomness with only a few points pulls neighbouring radii far apart, which can make the curve self-intersect. Add points or reduce randomness.