CSS Gradient Generator

Erstelle linear/radiale CSS-Gradienten visuell und kopiere den Code

Beispiel ausprobieren
Typ
Winkel135°

Farbstopps

0%
100%

CSS-Ausgabe

background: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);

Was ist ein CSS-Gradient?

Ein CSS-Gradient-Generator ist ein visuelles Tool, das beim Erstellen weicher Farbübergänge hilft, ohne die Gradient-Syntax manuell schreiben zu müssen. In CSS ist ein Gradient ein weicher Übergang zwischen zwei oder mehr Farben, der direkt vom Browser gerendert wird — ohne Bilddatei. Das CSS Image Module Level 4 definiert Gradient-Funktionen als einen Typ von Bildwert, sodass sie überall dort verwendet werden können, wo ein background-image-, list-style-image- oder border-image-Wert akzeptiert wird. Da der Browser Gradienten zur Renderzeit rastert, skalieren sie in jeder Auflösung und erzeugen auf hochauflösenden Displays keine unscharfen Artefakte. Ein CSS-Gradient-Generator spart Zeit und beseitigt Raterei — Farben und Positionen werden visuell angepasst, dann wird die fertige CSS-Regel kopiert.

CSS unterstützt drei Hauptverlaufsformen: linear (entlang einer geraden Linie), radial (von einem Mittelpunkt nach außen) und konisch (ein Schwenk um einen Mittelpunkt). Jede Form akzeptiert eine Liste von Farbstopps, bei denen Farbe und optional eine Position (Prozent oder Länge) angegeben werden. Der Browser interpoliert Farben zwischen Stopps standardmäßig im sRGB-Farbraum, obwohl CSS Color Level 4 die Angabe anderer Farbräume wie oklch und lab für wahrnehmungsmäßig weichere Übergänge erlaubt.

Gradienten ersetzen bildbasierte Hintergründe für die meisten dekorativen Zwecke im Web. Eine einzige CSS-Regel erzeugt, wofür früher ein Photoshop-Export und ein HTTP-Request nötig waren. Sie sind auflösungsunabhängig, benötigen keine Netzwerkbandbreite über das CSS selbst hinaus und können mit Standard-CSS-Eigenschaften animiert oder in Übergänge eingebunden werden. Die Gradient-Syntax ist seit 2013 in allen gängigen Browsern stabil, und die nicht präfixierte Form funktioniert in Chrome, Firefox, Safari und Edge ohne Fallbacks.

Warum diesen CSS-Gradient-Generator verwenden?

Gradient-Syntax manuell zu schreiben bedeutet, Stoppositionen zu raten, Winkelwerte zu prüfen und wiederholt die Seite neu zu laden, um das Ergebnis zu sehen. Ein visueller Builder zeigt den Gradient während des Aufbaus, ermöglicht das Verschieben von Stopps und erlaubt das Kopieren des fertigen CSS, sobald es stimmt.

Live-Vorschau
Der Gradient aktualisiert sich in Echtzeit, während Farben, Positionen und Winkel geändert werden. Kein Wechsel zwischen Editor und Browser nötig.
🔒
Verarbeitung im Browser
Alle Berechnungen laufen im Browser. Keine Farbdaten oder Gradient-Konfigurationen werden an einen Server übertragen.
🎨
Mehrere Gradient-Typen
Lineare und radiale Gradienten mit voller Kontrolle über Richtung, Winkel und Farbstoppositionen erstellen. CSS mit einem Klick kopieren.
📋
Kein Konto erforderlich
Seite öffnen und loslegen. Keine Registrierung, keine E-Mail-Schranke, keine Ratenbegrenzung. Funktioniert offline, sobald die Seite geladen ist.

Anwendungsfälle für den CSS-Gradient-Generator

Frontend-Entwicklung
Hero-Abschnitt-Hintergründe, Karten-Overlays und Button-Hover-Zustände erstellen. Den Gradient in den Zieldimensionen in der Vorschau prüfen, dann das CSS direkt ins Stylesheet oder die Tailwind-Konfiguration einfügen.
E-Mail-Template-Design
Einige E-Mail-Clients unterstützen CSS-Gradienten in Inline-Styles. Den genauen Gradient-Code generieren und am Element inline einbinden — mit einer einfarbigen Fallback-Farbe für Clients, die keine Gradienten rendern.
Design-Prototyping
Beim Iterieren von Farbschemata im Browser statt in Figma Gradient-Hintergründe schnell generieren. Mehrere Optionen nebeneinander vergleichen, ohne Assets exportieren zu müssen.
DevOps-Dashboard-Gestaltung
Status-Dashboards und Monitoring-Oberflächen nutzen Farbgradienten zur Darstellung von Schweregradskalen (grün bis rot) oder Datendichte. Gradient-Werte generieren und auf Diagramm-Hintergründe oder Statusleisten anwenden.
Datenvisualisierung
Chart-Bibliotheken wie D3.js und Recharts akzeptieren CSS-Gradient-Definitionen für Flächenfüllungen und Heatmaps. Den Gradient visuell aufbauen, dann die Stoppfarben für die eigene Skalierungsfunktion extrahieren.
CSS lernen
Wer CSS lernt, kann mit der Gradient-Syntax experimentieren, sehen wie Winkeländerungen die Richtung beeinflussen, und die Positionierung von Farbstopps verstehen. Das generierte CSS dient als funktionsfähige Referenz.

CSS-Gradient-Typen Referenz

CSS definiert fünf Gradient-Funktionen. Die drei Grundtypen (linear, radial, konisch) haben jeweils eine Wiederholungsvariante, die das Muster kachelt. repeating-linear-gradient() und repeating-radial-gradient() eignen sich für gestreifte Hintergründe und konzentrische Ringe. Alle Gradient-Funktionen akzeptieren Farbstopps in jedem CSS-Farbformat: HEX, RGB, HSL, benannte Farben oder oklch. Die Browser-Unterstützung für alle fünf Funktionen ist in Chrome, Firefox, Safari und Edge praktisch universell — keine Vendor-Präfixe erforderlich.

FunktionBeispiel-SyntaxRichtungTypischer Einsatz
linear-gradient()to right, #f00, #00fStraight lineBackgrounds, hero sections, progress bars
radial-gradient()circle, #f00, #00fOutward from centerSpotlight effects, buttons, badges
conic-gradient()from 0deg, #f00, #00fSweep around centerPie charts, color wheels, spinners
repeating-linearto right, #f00 0 10px, #00f 10px 20pxTiled lineStripes, progress indicators, decorative borders
repeating-radialcircle, #f00 0 10px, #00f 10px 20pxTiled circleConcentric ring patterns, retro textures

Lineare vs. radiale vs. konische Gradienten

Jeder Gradient-Typ ordnet Farben einer anderen Geometrie zu. Die Wahl des richtigen Typs hängt vom gewünschten visuellen Effekt ab, nicht von einem Qualitätsunterschied zwischen ihnen. Für die meisten Seitenhintergründe und Abschnittstrennlinien ist ein linearer Gradient die richtige Wahl — er ist am einfachsten nachvollziehbar und verhält sich bei unterschiedlichen Elementgrößen am vorhersehbarsten. Radiale und konische Gradienten sind besser für spezifische visuelle Effekte geeignet, bei denen die kreisförmige oder rotatorische Geometrie bedeutungstragend statt nur dekorativ ist.

linear-gradient()
Farben wechseln entlang einer geraden Linie, die durch einen Winkel (0deg = unten nach oben, 90deg = links nach rechts) oder ein Schlüsselwort wie 'to right' definiert wird. Der häufigste Typ, verwendet für Hintergründe, Overlays und Fortschrittsanzeigen. Unterstützt mehrere Farbstopps an beliebigen Positionen.
radial-gradient()
Farben strahlen von einem Mittelpunkt nach außen in einem Kreis oder einer Ellipse. Form, Größe und Mittelpunktposition werden über die Syntax gesteuert. Nützlich für Spotlight-Effekte, Vignetten und kreisförmige UI-Elemente wie Badges oder Avatar-Ringe.
conic-gradient()
Farben schwenken um einen Mittelpunkt wie die Zeiger einer Uhr. Der Startwinkel ist mit 'from Xdeg' konfigurierbar. Nützlich für Kreisdiagramm-Segmente, Farbräder und rotierende Ladeanimationen. Benötigt mindestens zwei Stopps; das Wiederholen der ersten Farbe am Ende erzeugt eine nahtlose Schleife.

Code-Beispiele

Beispiele für das programmgesteuerte Erzeugen und Anwenden von CSS-Gradienten in JavaScript, Python, CSS und Go. Jedes Beispiel erzeugt gültige CSS-Gradient-Strings, die direkt in Stylesheets oder Inline-Styles verwendet werden können.

JavaScript
// Generate a CSS linear-gradient string from an array of stops
function buildGradient(angle, stops) {
  const parts = stops.map(s => `${s.color} ${s.position}%`)
  return `linear-gradient(${angle}deg, ${parts.join(', ')})`
}

const stops = [
  { color: '#6366f1', position: 0 },
  { color: '#ec4899', position: 50 },
  { color: '#f59e0b', position: 100 },
]
buildGradient(90, stops)
// -> "linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

// Apply to an element
document.querySelector('.hero').style.background = buildGradient(135, stops)
Python
# Generate a CSS gradient string for use in templates or SVGs
def build_gradient(angle: int, stops: list[tuple[str, int]]) -> str:
    parts = [f"{color} {pos}%" for color, pos in stops]
    return f"linear-gradient({angle}deg, {', '.join(parts)})"

stops = [("#6366f1", 0), ("#ec4899", 50), ("#f59e0b", 100)]
print(build_gradient(135, stops))
# -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

# Interpolate N colors between two endpoints
def interpolate_hex(c1: str, c2: str, steps: int) -> list[str]:
    r1, g1, b1 = int(c1[1:3], 16), int(c1[3:5], 16), int(c1[5:7], 16)
    r2, g2, b2 = int(c2[1:3], 16), int(c2[3:5], 16), int(c2[5:7], 16)
    return [
        f"#{int(r1+(r2-r1)*i/(steps-1)):02x}"
        f"{int(g1+(g2-g1)*i/(steps-1)):02x}"
        f"{int(b1+(b2-b1)*i/(steps-1)):02x}"
        for i in range(steps)
    ]

interpolate_hex("#6366f1", "#f59e0b", 4)
# -> ['#6366f1', '#9a7399', '#d18042', '#f59e0b']
CSS
/* Linear gradient — left to right */
.hero {
  background: linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%);
}

/* Radial gradient — circular spotlight */
.badge {
  background: radial-gradient(circle at 30% 30%, #6366f1, #312e81);
}

/* Conic gradient — color wheel */
.wheel {
  background: conic-gradient(from 0deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6, #ef4444);
  border-radius: 50%;
}

/* Multi-stop with transparency */
.overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 60%,
    rgba(0, 0, 0, 0.9) 100%
  );
}

/* Repeating stripes */
.stripes {
  background: repeating-linear-gradient(
    45deg,
    #6366f1 0 10px,
    transparent 10px 20px
  );
}
Go
package main

import "fmt"

// Stop represents one color stop in a gradient.
type Stop struct {
	Color    string
	Position int // percent 0-100
}

func buildGradient(angle int, stops []Stop) string {
	result := fmt.Sprintf("linear-gradient(%ddeg", angle)
	for _, s := range stops {
		result += fmt.Sprintf(", %s %d%%", s.Color, s.Position)
	}
	return result + ")"
}

func main() {
	stops := []Stop{
		{"#6366f1", 0},
		{"#ec4899", 50},
		{"#f59e0b", 100},
	}
	fmt.Println(buildGradient(135, stops))
	// -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"
}

Häufig gestellte Fragen

Was ist der Unterschied zwischen linear-gradient und radial-gradient?
linear-gradient() wechselt Farben entlang einer geraden Linie in einem bestimmten Winkel, während radial-gradient() Farben von einem Mittelpunkt in einem Kreis oder einer Ellipse nach außen wechselt. Lineare Gradienten sind die Standardwahl für Seitenhintergründe und Overlays. Radiale Gradienten eignen sich besser für Spotlight-Effekte und kreisförmige UI-Elemente.
Wie legt man die Richtung eines linearen Gradienten fest?
Einen Winkel in Grad verwenden (z.B. 90deg für links nach rechts, 180deg für oben nach unten) oder ein Schlüsselwort (to right, to bottom left). Der Winkel dreht sich im Uhrzeigersinn von unten: 0deg zeigt nach oben, 90deg nach rechts. Es kann auch 'to top right' angegeben werden, um eine Ecke anzusteuern — der Browser berechnet den genauen Winkel basierend auf dem Seitenverhältnis des Elements.
Kann man einen CSS-Gradient animieren?
Browser können nicht direkt zwischen zwei Gradient-Werten mit CSS-Übergängen interpolieren. Die gängigen Lösungsansätze sind: die background-position eines überdimensionierten Gradienten animieren, @property verwenden, um einzelne Farbstoppwerte als benutzerdefinierte Eigenschaften zu animieren, oder mit opacity auf einem Pseudo-Element überblenden. Der @property-Ansatz (unterstützt in Chrome und Edge seit 2020, Firefox seit 2024) ist die sauberste Lösung.
Wie viele Farbstopps kann ein Gradient haben?
Die CSS-Spezifikation legt kein Maximum fest. Browser verarbeiten Gradienten mit dutzenden Stopps ohne Performance-Probleme. In der Praxis verwenden die meisten Gradienten 2 bis 5 Stopps. Jeder Stopp kann eine Farbe und optional eine Position als Prozent- oder Längenwert angeben. Pro Stopp können auch zwei Positionen definiert werden, um ein hartes Farbband ohne Übergang zu erzeugen.
Was ist der Unterschied zwischen einem Gradient und einem Bild?
In CSS ist ein Gradient ein berechnetes Bild. Er teilt dieselbe Rendering-Pipeline wie url()-Bilder und kann überall dort verwendet werden, wo ein Bildwert gültig ist: background-image, list-style-image, border-image und mask-image. Der Unterschied besteht darin, dass ein Gradient vom Browser zur Renderzeit generiert wird, in jeder Größe ohne Qualitätsverlust skaliert und kein einziges Byte zum Seitengewicht hinzufügt, da keine Datei heruntergeladen wird.
Wie erstellt man einen Gradient mit einem harten Farbstopp (ohne Übergang)?
Zwei Farbstopps an derselben Position platzieren. Zum Beispiel erzeugt linear-gradient(to right, #6366f1 50%, #ec4899 50%) eine scharfe Trennung ohne Mischung zwischen den Farben. Alternativ kann die Zwei-Positions-Syntax verwendet werden: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%), um jedes Band explizit zu definieren.
Wird die conic-gradient-Funktion in allen Browsern unterstützt?
conic-gradient() wird unterstützt in Chrome 69+, Firefox 83+, Safari 12.1+ und Edge 79+. Stand 2024 liegt die globale Browser-Unterstützung laut Can I Use-Daten bei über 95%. Kein Vendor-Präfix wird benötigt. Für den kleinen Prozentsatz der Nutzer mit älteren Browsern eine einfarbige background-color als Fallback vor der Gradient-Deklaration setzen.