SVG background

ShapeBlob
Seed4821
Inline cost638 B
VerdictInline it

SVG Background Generator

Organic blob shapes, repeating motifs, layered waves, and film grain — the decorative vector work a page needs behind a hero or a card. Every shape is drawn from a seed you can see and edit, which is the part the other generators leave out: reload one of those and the shape you liked is gone, while here the number in the address bar redraws it exactly.

Shape kinds
3
Reproducible seeds
10,000
Typical blob
< 1 KB
Bytes uploaded
0

Step by step

How to use it

  1. 01Pick the kind of shape

    A blob for an organic mass behind a hero or an avatar. A pattern for a repeating texture that tiles across any size. Waves for layered bands, which read as depth on a section divider.

  2. 02Roll until something lands

    The seed drives every random decision in the shape. Roll it, and when one is right, keep the number — it is the only thing you need to get that shape back.

  3. 03Shape it deliberately

    Points control how many times the outline turns; contrast controls how far each turn strays from a circle. Low contrast with many points gives a soft pebble, high contrast with few gives a splash.

  4. 04Take the CSS, not the file

    The generated CSS carries the whole shape as a percent-encoded data URI, so it drops into a stylesheet with no asset to deploy alongside it. The footer says when the shape has grown big enough to be worth a file instead.

Worked example

What the contrast control actually does

The same seed at four contrast values, with points held at six. Contrast is the percentage by which each control point may stray from the mean radius.

Given

Seed
4821
Points
6
Variable
contrast

Contrast against the character of the shape

0%     a clean ellipse — the seed has nothing to vary
15%    a pebble; reads as deliberate, not generated
30%    the default; clearly organic, still calm
60%    a splash; lively, and it fights foreground text
Behind body text
10–20%
General decoration
25–35%
A standalone graphic
45%+

Contrast is the difference between a shape that supports a layout and one that competes with it. Anything sitting behind text wants to stay under about 20%, because a busy outline creates local contrast changes that make the type above it harder to read. Save the high values for shapes that are the subject rather than the backdrop.

Before you paste it into a stylesheet

What to know about SVG backgrounds

A seed is what makes a generated shape usable

Most blob and background generators produce a new random shape on every reload, so the one you liked cannot be recovered and a colleague opening the same tool sees something else. A visible seed turns a lucky roll into an asset you can version, share, and regenerate.

Percent-encode SVG rather than base64

Base64 inflates a payload by roughly a third and turns text into an opaque blob. An SVG is already text, so percent-encoding keeps it near its original size and lets it compress again over the wire. Reach for base64 only where something refuses the alternative.

Inlining saves a request, and costs it on every load

A data URI in a stylesheet has no separate fetch, but it also cannot be cached apart from that stylesheet — change one rule and the whole shape is re-sent. Under a few kilobytes the saved request wins; well above it, an external file that caches once wins.

The background colour belongs in the SVG

A shape exported with a transparent ground picks up whatever sits behind it, which is rarely what the preview showed. The fill here is written into the file, so the exported asset looks the same wherever it lands.

Patterns tile, blobs do not

A pattern is a motif repeated on a grid, so it covers any area at any size without distorting. A blob is a single closed shape sized to its canvas — stretch it across a wider container and it stretches with it, which is why the two take different repeat rules in the generated CSS.

Grain is a filter, and filters cost pixels

The grain layer is feTurbulence, generated at render time rather than stored. It stays tiny in the file but is the most expensive part to paint, so use it on a hero or a card rather than on something repeated hundreds of times down a page.

The judgement call

Which shape, and how should it ship?

The three kinds solve different problems, and the delivery depends on where it lands.

  • A soft mass behind a hero headline

    Blob · low contrast

    Organic enough to feel designed, calm enough that the type above it stays readable.

  • Texture across a whole page background

    Pattern

    It tiles, so it covers any viewport at any size without stretching or repeating visibly.

  • A divider between two sections

    Waves

    The layered bands read as depth, and the shape is anchored to the bottom edge where a divider needs it.

  • A decorative shape under 4 KB

    Inline the CSS

    No request, nothing to deploy, and nothing that can 404 after a cache purge.

  • A large detailed shape on many pages

    An SVG file

    Past a few kilobytes an external file cached once beats the same bytes re-sent with every stylesheet change.

  • A shape you will hand to a designer

    Download the SVG

    It opens in Figma or Illustrator as editable vector. A data URI in a stylesheet does not.

Reference

How the shapes are built

Randomness
FNV-1a into Mulberry32A seeded generator rather than Math.random, which is what makes the same seed reproduce the same shape in any browser.
Blob outline
Closed Catmull-Rom splineCubic segments with control points derived from each point's neighbours, so the curve is continuous at every join rather than showing corners.
Points
3 to 14How many times the outline turns. Three is a rounded triangle; past about ten the turns are too close together to read individually.
Contrast
0–60%How far each point may stray from the mean radius. Zero is a circle; anything above about 45% reads as a splash.
Pattern tiles
8–80 pxThe repeating unit is drawn once and tiled by the renderer, so tile size changes density without changing file size.
Grain
feTurbulence, fixed seedThe filter seed is pinned so the exported PNG matches the preview — left to default, engines generate different noise.

FAQ

Questions, answered plainly

How do I get the same blob shape back later?

Keep the seed. The Tinapps SVG background generator draws every shape from a seeded random number generator, so entering the same seed with the same points and contrast reproduces the shape exactly — and the Share button puts all of it in the URL. This is the difference from generators that reroll on refresh, where a shape you liked cannot be recovered.

Should I use an SVG background as a data URI or as a file?

Inline it as a data URI while it is under about four kilobytes, which covers nearly every blob and pattern. Inlining removes an HTTP request and there is no asset to deploy, but the bytes are re-sent whenever the stylesheet changes, so a large or detailed shape used across many pages is better as an external file that caches on its own.

Why is my SVG background not showing in CSS?

The usual cause is quoting: a percent-encoded SVG data URI contains characters that break an unquoted url(), so it must be wrapped in double quotes, and the SVG itself must then use single quotes internally. The CSS this tool generates is already escaped correctly — copy the whole rule rather than just the URI.

Can I edit these backgrounds in Figma or Illustrator?

Yes. Download the SVG rather than copying the CSS and it opens in any vector editor as editable paths — the blob is a single closed path, waves are one path per layer, and a pattern is a tiled motif. The grain layer is an SVG filter, which some editors rasterise on import.

What is the difference between a blob and a pattern background?

A blob is one closed organic shape sized to its canvas, so it stretches if the container does. A pattern is a small motif repeated on a grid, so it covers any area at any size without distorting. Use a blob as a focal shape behind content and a pattern as texture across a whole surface.

Are these SVG backgrounds free to use commercially?

Yes. A shape generated by the Tinapps SVG background generator is produced from a seed and your own colour choices, with no stock asset involved, so there is no licence and nothing to attribute. Everything is generated in your browser and never uploaded.

Shapes are generated in your browser from a seed. Nothing is uploaded, and the tool keeps working with the network disconnected.

All design toolsTinapps homeFree · no account · nothing leaves your browser