Skip to main content

Blob Shape Generator

Generate organic blob shapes as SVG.

Geprüft von · Zuletzt geprüft

6 pts
50%
400px
SVG
<svg viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg">
  <path d="M 313.01,137.77 C 353.24,239.91 307.85,287.64 266.38,314.97 C 224.91,342.30 143.68,383.14 105.33,363.98 C 66.97,344.82 28.33,240.97 36.24,200.00 C 44.14,159.03 113.49,138.93 152.76,118.18 C 192.03,97.44 238.30,61.90 271.86,75.53 C 305.43,89.17 355.07,160.09 354.15,200.00 Z" fill="#6366f1" />
</svg>

So verwendest du den Blob-Form-Generator

  1. Komplexitätsschieberegler setzen (3-10). Das ist die Anzahl der Kontrollpunkte, die um einen unsichtbaren Kreis platziert werden; mehr Punkte erzeugen eine reichhaltigere Kontur, weniger Punkte eine sauberere Silhouette.
  2. Zufälligkeitsschieberegler setzen. Bei 0 liegt jeder Punkt genau auf dem Kreis und du erhältst nach der Glättung ein regelmäßiges Polygon. Bei Maximum kann jeder Punkt um etwa 40 % des Radius nach innen oder außen gedrückt werden.
  3. Füllfarbe auswählen, oder den Verlaufsmodus aktivieren, um linear zwischen zwei Stopps zu mischen.
  4. Auf "Randomisieren" drücken, um die Zufälligkeit neu zu setzen - die Komplexität bleibt gleich, aber jeder Punkt bekommt einen neuen Versatz.
  5. Als SVG exportieren (für Inline-Einsatz oder eine Datei), CSS-Hintergrundbild (als Data-URI) oder PNG über den Download-Button.

Wie der Blob aufgebaut wird

Der Generator platziert N Kontrollpunkte in gleichen Winkelabständen um den Einheitskreis (2π/N auseinander), dann stört er den radialen Abstand jedes Punktes durch einen zufälligen Faktor im Bereich [1 - r, 1 + r], wobei r der Zufälligkeitsschieberegler-Wert ist. Jeder Punkt wird zu einem Ankerpunkt in einem SVG-Pfad. Um eine glatte organische Kurve statt eines gezackten Polygons zu erzeugen, werden aufeinanderfolgende Ankerpunkte mit kubischen Bezier-Segmenten verbunden, deren Tangentvektoren mit der Catmull-Rom-zu-Bezier-Konvertierungsformel berechnet werden - gegeben vier aufeinanderfolgende Ankerpunkte P[i-1], P[i], P[i+1], P[i+2], hat das Segment von P[i] nach P[i+1] Kontrollpunkte bei P[i] + (P[i+1]-P[i-1])/6 und P[i+1] - (P[i+2]-P[i])/6. Der Faktor 1/6 ist die Standard-Catmull-Rom-Spannung, die C1-kontinuierliche Kurven erzeugt, die genau durch jeden Ankerpunkt verlaufen. Der Pfad wird dann geschlossen und gefüllt, und der Zufälligkeits-Seed wird im Komponentenzustand gespeichert, damit "Randomisieren" nur die Versatze neu würfelt.

Wo Blobs im echten Design auftauchen

  • SaaS-Marketing-Hero-Hintergründe, wo weiche organische Formen Wärme andeuten, ohne buchstäbliche Illustrationen zu sein.
  • Avatar-Container auf Profilseiten als visueller Ausbruch aus dem Standard-Kreis oder abgerundeten Quadrat.
  • Dekorative Ecken um Feature-Abschnitte und Preistabellen.
  • Illustrationen abstrakter Konzepte - "Netzwerk", "Gemeinschaft", "Wachstum" - wo eine geometrische Form zu klinisch wirken würde.
  • Social-Media-Grafiken und OG-Karten, weil die Blob-Silhouette in Thumbnail-Größe gut lesbar ist und von Mitbewerbern abheben, die Stock-Fotografie verwenden.

Fallstricke, auf die man achten sollte

Erstens, deterministischer Zufälligkeits-Seed: sobald du erneut auf "Randomisieren" drückst, ist die vorherige Form weg - kopiere das SVG sofort, wenn du es magst. Zweitens, Selbstüberschneidung bei hoher Zufälligkeit: aggressives Einwärtsdrücken kann benachbarte Tangenten kreuzen und eine sichtbare Einkerbung oder Schleife erzeugen; das Tool klemmt, um die meisten Fälle zu verhindern, aber generiere neu oder reduziere die Zufälligkeit, wenn du eine Selbstüberschneidung siehst. Drittens, viewBox-Abstand: Blobs, die nach außen reichen, können an den viewBox-Ecken abgeschnitten werden. Viertens, Zugänglichkeit: ein dekorativer Blob muss aria-hidden="true" und einen leeren <title> tragen, damit Screenreader ihn überspringen - füge diese bei der Integration hinzu.

Über organische Kurven und Pfadmathematik

SVG 2 (W3C Candidate Recommendation 2018) definiert den kubischen Bezier-Befehl C x1 y1, x2 y2, x y, der eine Kurve von der aktuellen Position zu (x, y) zieht, beeinflusst durch Kontrollpunkte (x1, y1) und (x2, y2). Kubische Bezier sind das Standard-Kurven-Primitiv in SVG, PDF und PostScript, weil sie C2-parametrische Kontinuität mit nur vier Punkten pro Segment geben - genug, um jede glatte Kurve auszudrücken, die ein Illustrator von Hand zeichnet. Der Catmull-Rom-Spline, den der Generator verwendet, ist eine bekannte Technik von 1974 (Edwin Catmull und Raphael Rom, "A class of local interpolating splines"), die garantiert, dass die Kurve durch jeden Kontrollpunkt verläuft - im Gegensatz zu B-Splines, die sie nur annähern. Für einen Blob ist das genau die richtige Eigenschaft: du möchtest Kontrollpunkte auf einem groben Kreis platzieren und die Kontur soll jeden Punkt tatsächlich berühren. Die Alternative - rein parametrische Rauschfelder wie Perlin oder Simplex-Rauschen - würde organisch abwechslungsreichere Formen erzeugen, aber auf Kosten der Deterministik und einer viel schwieriger zu handhabenden Exportgeschichte.

Im Vergleich zu Blobmaker, Haikei und Figma

Blobmaker.app ist das bekannteste dedizierte Blob-Tool; es bietet mehr Voreinstellungen und eine etwas glattere Kurve (es verwendet einen vorgespannten Zufalls-Walk statt Catmull-Rom, was subtil unterschiedliche Ästhetiken ergibt). Haikei bündelt Blobs in eine viel größere Formengenerator-Familie und ist großartig, wenn du Blobs mit Verläufen und Wellenhintergründen in einer einzigen Datei kombinieren möchtest. Figma-Plugins wie "Blobs 2" generieren die Form direkt innerhalb der Design-Datei und ermöglichen es dir, die Eckpunkte anschließend als bearbeitbare Ankerpunkte zu manipulieren, was der richtige Workflow ist, wenn der Blob mehrmals innerhalb eines Designs iteriert wird. Der Vorteil dieses Generators ist, dass er einen minimalen, lesbaren SVG-Pfad mit einem d-Attribut erzeugt, das du als String versionieren kannst. Der Nachteil ist, dass du einzelne Eckpunkte nach der Generierung nicht bearbeiten kannst - es ist eine einmalige Ausgabe, kein Graph-Editor.

Häufig gestellte Fragen

Welche mathematische Kurve verwendet der Blob?

Catmull-Rom-Splines, die in kubische Bezier-Segmente umgewandelt werden. Die Ankerpunkte werden um den Einheitskreis platziert, radial durch den Zufälligkeitsfaktor versetzt, und dann wird jedes Anker-Paar mit einem Bezier verbunden, dessen Kontroll-Tangenten aus den benachbarten Ankern mit der Standard-<code>1/6</code>-Catmull-Rom-Spannung abgeleitet werden. Das garantiert, dass die Kurve durch jeden Ankerpunkt verläuft (im Gegensatz zu B-Splines) und C1-kontinuierlich über Segmente bleibt.

Warum erzeugt höhere Zufälligkeit manchmal hässliche Formen?

Bei hoher Zufälligkeit können benachbarte Ankerpunkte so stark in entgegengesetzte Richtungen gedrückt werden, dass die Bezier-Tangenten sich kreuzen und eine sichtbare Einkerbung erzeugen. Blobs mit niedrig- er Komplexität (3-4 Punkte) und hoher Zufälligkeit sind die schlimmsten Verursacher, weil weniger Nachbarn vorhanden sind, um die Kontur zu glätten. Generiere neu für einen frischen Seed oder erhöhe die Komplexität.

Kann ich denselben Blob über Seitenladevorgänge hinweg beibehalten?

Ja, indem du das SVG sofort nach der Generierung exportierst und es als statisches Asset speicherst. Der Generator gibt keinen Seed-Wert für Copy-Paste-Reproduktion aus, also ist die kopierte oder heruntergeladene Datei deine kanonische Referenz. Wenn du parametrische Reproduzierbarkeit möchtest - "dieser Blob, aber etwas anders bei jedem Build" - müsstest du das Tool erweitern, um einen Seed auszugeben, was eine einfache Änderung der Komponente ist.

Warum würde ich SVG statt PNG-Export wählen?

SVG ist Vektor: es skaliert auf jede Größe, der gerenderte Rand bleibt scharf auf einem 4K-Display oder bei Druck-DPI, es ist typischerweise einige Hundert Bytes auf Disk gegenüber Kilobytes für ein PNG, und du kannst es mit CSS durch Ansprechen des <code>&lt;path&gt;</code>-Elements neu stylen. PNG ist nur sinnvoll, wenn du ein Raster-Asset für eine Plattform benötigst, die kein SVG rendert - zum Beispiel einige Social- Media-OG-Bild-Pipelines oder ältere E-Mail-Clients. Für alles im Web ist SVG der Standard.

Wie verwende ich den Blob als CSS-Hintergrund?

Wähle den CSS-Hintergrund-Export. Das Tool gibt eine <code>background-image: url("data:image/svg+xml,...")</code>-Deklaration mit dem prozentuell codierten SVG inline aus, die du auf jedes Element einfügen kannst. Kombiniere es mit <code>background-size: contain; background-repeat: no-repeat; background-position: center</code>, um das Seitenverhältnis beizubehalten. Für responsiven Einsatz setze die Container-Größe mit <code>aspect-ratio: 1 / 1</code>, damit der Blob nicht gestreckt wird.

Kann ich die Blob-Farbe nach dem Kopieren ändern?

Ja, aber nur sauber, wenn du die Inline-SVG-Ausgabe verwendest. Ersetze den hartcodierten Füll-Hex-Wert durch <code>fill="currentColor"</code> und der Blob erbt die CSS-<code>color</code>-Eigenschaft seines Elternelementes, was dir erlaubt, ihn über CSS-Custom-Properties neu zu stylen. Der CSS-Hintergrund-Data-URI bäckt die Farbe in den codierten String ein, also musst du für diese Version neu generieren oder den prozentuell codierten Hex manuell bearbeiten.

Ist der Blob für Screenreader zugänglich?

Standardmäßig werden SVG-Elemente dem Zugänglichkeitsbaum mit dem <code>&lt;title&gt;</code>-Inhalt zugänglich gemacht. Für einen dekorativen Blob (keine semantische Bedeutung) füge <code>role="presentation"</code> oder <code>aria-hidden="true"</code> zum Root-<code>&lt;svg&gt;</code> hinzu, damit Screenreader ihn überspringen. Wenn der Blob funktional ist (ein Avatar-Rahmen, ein Logomark), gib ihm einen aussagekräftigen <code>&lt;title&gt;</code>, der den Zweck des Elements beschreibt, nicht die Form selbst.

Kann ich das für kommerzielle Projekte verwenden?

Ja. Jeder Blob, den du generierst, leitet sich aus deiner eigenen Parametereingabe ab und ist nicht aus einer lizenzierten Asset-Bibliothek entnommen. Das SVG-Markup wird deterministisch durch Code generiert und trägt keine Urheberrechtslast - du kannst die Ausgabe in Kundenprojekten, SaaS-Produkten oder gedruckten Materialien ohne Namensnennung verwenden.

Läuft der Generator auf einem Server?

Nein. Die Pfadmathematik, SVG-Serialisierung und Codierung finden alle in der lokalen Preact-Komponente statt. Der Download-Button verwendet eine Blob-URL und einen synthetischen Anker-Klick; der Kopieren-Button verwendet die Clipboard-API. Deine Form-Parameter verlassen nie den Browser-Tab, und das Tool funktioniert offline, sobald die Seite geladen ist.

Warum ist die Komplexität auf 10 Punkte begrenzt?

Über etwa 10 Ankerpunkte hinaus tragen zusätzliche Punkte immer weniger visuellen Reichtum bei, weil das Auge enge Kämme in einer kleinen Blob- Silhouette nicht unterscheiden kann. Formen mit 20+ Ankern tendieren dazu, laut statt organisch auszusehen, und bei typischen Anzeigeformaten (200-500 Pixel) geht das zusätzliche Detail durch Subpixel-Glättung verloren. Zehn ist die praktische Obergrenze, bei der jeder Punkt noch einen sichtbaren Effekt hat.

Ist das ein SVG-Blob-Generator oder exportiert er auch Raster?

Beides. Der SVG-Blob-Generator-Pfad gibt einen sauberen Inline-Pfad aus, den du in eine Komponente einfügen oder als Datei speichern kannst, und der Raster-Pfad rendert dieselbe Form als PNG über die Canvas-Pipeline. Die meisten Benutzer exportieren das SVG, weil die Datei klein ist und unbegrenzt skaliert; der PNG-Pfad ist für Plattformen da, die SVG ablehnen (ältere E-Mail-Clients, bestimmte Werbenetzwerke) oder wenn du ein Raster-Asset mit fester Auflösung möchtest.

Mehr CSS & Design