Skip to the generator
Wave & Blob

CSS clip-path

Open the generator

Free, no sign-up, runs in your browser.

Instead of drawing the shape, use it to cut something else. A `clipPath` in the document plus one CSS property turns an image, a video or a coloured div into the shape — which is how a blob becomes an avatar mask rather than a background.

A CSS clip-path export, trimmed to the first few lines

<svg width="0" height="0" style="position:absolute">
  <defs>
    <clipPath id="shape-clip" clipPathUnits="userSpaceOnUse">
      <path d="M100 38L153.69 69L153.69 131L100 162L46.31 131L46.31 69Z"/>
    </clipPath>
  </defs>
</svg>

/* The element must be 200×200 for the clip to line up. */
.clipped {
  width: 200px;
  height: 200px;
  clip-path: url(#shape-clip);
}

What to know

Browser support

Supported in every current browser. `clip-path: url(#id)` referencing an inline clipPath is the broadest form — wider than the `path()` and `shape()` function syntaxes, which are newer and not worth the risk when this costs nothing extra.

Size across the presets

Every preset this format can express, measured as the generator emits it. The smallest is Hexagon at 369 bytes; the largest is Splat at 859 bytes. Point count is what drives the difference — each extra point adds a full cubic segment of coordinates.

Size across the presets
Format Size
Hexagon369 B
Crystal374 B
Faceted gem400 B
Mountain peaks423 B
Rounded triangle435 B
Swoosh438 B
Sharp zigzag456 B
Deep wave474 B
Cloud edge487 B
Footer wave510 B
Arch cut-out511 B
Pebble512 B
Gentle wave514 B
Layered waves544 B
Soft blob548 B
Stair step550 B
Scallop574 B
Organic blob620 B
Sparkle626 B
Organic wave670 B
Star burst769 B
Pixel edge771 B
Flower775 B
Bubble777 B
Ripple847 B
Splat859 B

In more detail

The output uses `clipPathUnits="userSpaceOnUse"` and tells you what size to make the element, rather than the `objectBoundingBox` form that would scale to any element automatically. That looks like the worse choice until you try it: `objectBoundingBox` requires every coordinate to be expressed between 0 and 1, which means re-emitting the path at a different scale and losing most of its precision to rounding. Being explicit about the size keeps the curve exactly as it was drawn.

Questions

Which shapes work as CSS clip-path?

This format covers Wave, Blob. That is a real constraint rather than a limitation of this tool — where a generator is missing from that list, the format genuinely cannot express it, and offering it anyway would hand you something that silently draws the wrong shape.

How big is a CSS clip-path export?

Between 369 and 859 bytes across the 26 presets that support it. Fewer points is the lever that matters; smoothness and colour cost nothing.

Can I edit it by hand afterwards?

Yes. The output is plain text with no generator comment, no identifying markup and no link back here. Change the colours, rename the class, or paste the path into your own SVG — nothing downstream depends on it staying as it was.

Every figure and every shape on this page was produced by running the generator at build time, so it describes the tool you are about to use rather than a version of it that once existed.

Related