Color Converter

Konvertieren Sie Farben zwischen HEX, RGB, HSL und HSV-Formaten mit visuellem Farbwähler

Beispiel ausprobieren

Klicken Sie auf das Farbfeld, um den Farbwähler zu öffnen

Oder bearbeiten Sie einen Wert unten

HEX
RGB
HSL
HSV

Was ist Farbkonvertierung?

Ein Farbkonverter übersetzt einen Farbwert von einer Notation in eine andere — zum Beispiel von einem HEX-Triplet (#6366F1) in ein RGB-Tupel (99, 102, 241) oder ein HSL-Triple (239, 84 %, 67 %). Dieselbe Farbe lässt sich auch als HSV-Triple (239, 59 %, 95 %) ausdrücken. Jedes Format kodiert dieselbe visuelle Farbe mit einem anderen mathematischen Modell. Verschiedene Werkzeuge, Sprachen und APIs erwarten je nach Kontext unterschiedliche Formate.

HEX und RGB beschreiben beide Farbe als Mischung aus rotem, grünem und blauem Licht. HEX ist eine kompakte hexadezimale Darstellung derselben drei Kanalwerte von 0 bis 255, die RGB dezimal aufführt. HSL (Hue, Saturation, Lightness) und HSV (Hue, Saturation, Value) ordnen dieselben Informationen in einem zylindrischen Koordinatensystem an, bei dem der Farbton ein Winkel auf dem Farbkreis ist (0–360 Grad) und Sättigung sowie Helligkeit als Prozentwerte angegeben werden. Das macht HSL und HSV intuitiver für Aufgaben wie das Erstellen hellerer oder dunklerer Abstufungen desselben Farbtons.

Die Konvertierung zwischen diesen Formaten erfordert klar definierte Mathematik. Die W3C CSS Color Module Level 4 Spezifikation dokumentiert die Algorithmen, die Browser verwenden, um eine beliebige CSS-Farbe in ein sRGB-Triplet aufzulösen. Die Formeln sind deterministisch: Eine bestimmte Eingabe liefert immer dieselbe Ausgabe. Konvertierungen sind verlustfrei, solange Werte nicht gerundet oder abgeschnitten werden. Die meisten Farbwähler und Design-Werkzeuge nutzen intern dieselben Formeln.

Wozu diesen Color Converter verwenden?

Design-Werkzeuge exportieren Farben in einem Format, Ihr CSS benötigt ein anderes, und die aufgerufene API erwartet ein drittes. Anstatt Konvertierungscode zu schreiben oder nach der richtigen Formel zu suchen, einen Wert einfügen und sofort alle Formate erhalten.

Sofortige Live-Konvertierung
Eine Farbe eintippen oder auswählen und HEX, RGB, HSL sowie HSV in Echtzeit aktualisiert sehen. Kein Absenden-Button, kein Server-Roundtrip.
🔒
Datenschutzorientierte Verarbeitung
Die gesamte Konvertierungslogik läuft im Browser. Es werden keine Farbwerte, keine Nutzungsdaten und keine Cookies übertragen.
🔀
Alle vier Formate gleichzeitig
Eine Eingabe liefert HEX, RGB, HSL und HSV gleichzeitig. Das benötigte Format mit einem einzigen Klick kopieren.
📋
Kein Konto erforderlich
Seite öffnen und sofort konvertieren. Keine Registrierung, keine E-Mail-Adresse, keine Ratenlimits. Funktioniert nach dem Laden auch offline.

Anwendungsfälle

CSS-Entwicklung
Ein Designer übergibt einen HEX-Wert aus Figma, aber die Komponentenbibliothek verwendet HSL für das Theming. Den Wert konvertieren und in CSS Custom Properties oder die Tailwind-Konfiguration einfügen.
Backend-API-Integration
Ein Endpunkt akzeptiert Farben als RGB-Arrays für die Diagrammgenerierung. Die Marken-HEX-Codes aus dem Style Guide in die Integer-Triplets konvertieren, die die API erwartet.
Design-System-Pflege
Bei der Dokumentation eines Design-Systems werden alle Farb-Tokens in HEX als Kurzreferenz, in RGB für Canvas-Rendering und in HSL für die programmatische Farbabstufung benötigt.
QA und visuelles Testen
Den Pixelwert eines Screenshots (in der Regel von den Browser-DevTools als RGB gemeldet) mit dem erwarteten HEX-Wert aus einem Figma-Spec vergleichen. Eine schnelle Konvertierung bestätigt Übereinstimmungen oder zeigt Abweichungen.
Datenvisualisierung
Diagrammbibliotheken wie D3.js und Chart.js akzeptieren Farben je nach Methode in unterschiedlichen Formaten. Einmalig konvertieren und eine einheitliche Notation in der gesamten Dataset-Konfiguration beibehalten.
Farbtheorie lernen
Studierende der Computergrafik oder des Webdesigns können sehen, wie dieselbe Farbe in HEX, RGB, HSL und HSV abgebildet wird. Das Anpassen eines Kanals und das Beobachten der Änderungen der anderen schärft das Verständnis für die Zusammenhänge zwischen Farbmodellen.

Farbformat-Referenz

Die nachstehende Tabelle listet die fünf gängigsten Farbformate auf und zeigt dieselbe Indigo-Farbe (#6366F1) in jeder Notation. HEX und RGB werden in CSS und JavaScript am breitesten unterstützt. HSL ist für das Theming bevorzugt, weil Helligkeit und Sättigung einfach angepasst werden können. HSV ist das Modell, das die meisten Farbwähler in Design-Software verwenden.

FormatBeispiel (Indigo)KanäleTypische Verwendung
HEX#6366F16 (or 3/8)CSS, design tools, brand guides
RGBrgb(99, 102, 241)3 (0–255 each)CSS, Canvas API, image processing
HSLhsl(239, 84%, 67%)3 (deg, %, %)CSS, color theming, accessibility tuning
HSVhsv(239, 59%, 95%)3 (deg, %, %)Color pickers, Photoshop, Figma
CMYKcmyk(59%, 58%, 0%, 5%)4 (0–100% each)Print design, prepress workflows

HEX vs. RGB vs. HSL

Alle drei Formate beschreiben denselben sRGB-Farbraum. Der Unterschied liegt darin, wie sie die Daten bereitstellen — das beeinflusst Lesbarkeit und Bearbeitbarkeit je nach Kontext.

HEX
Eine 6-stellige hexadezimale Zeichenkette (oder 3-stellige Kurzform). Kompakt und universell in CSS, Design-Werkzeugen und Brand Guidelines. Schwer auf den ersten Blick lesbar: #6366F1 verrät nichts über den Farbton. Unterstützt optional eine 8-stellige Form (#6366F180) für Alpha-Transparenz.
RGB
Drei Ganzzahlen von 0 bis 255 für die Kanäle Rot, Grün und Blau. Das native Format für Canvas 2D, WebGL und die meisten Bildverarbeitungsbibliotheken. Kanalweise leicht zu bearbeiten, aber die Anpassung der wahrgenommenen Helligkeit erfordert die gleichzeitige Änderung aller drei Werte.
HSL
Farbton (0–360 Grad), Sättigung (0–100 %) und Helligkeit (0–100 %). Auf menschliche Lesbarkeit ausgelegt. Um eine Farbe heller zu machen, L erhöhen. Zum Entsättigen S verringern. CSS unterstützt nativ die hsl()-Notation, und modernes CSS color-mix() sowie relative Farbsyntax bauen darauf auf.

Code-Beispiele

Farbkonvertierung zwischen HEX, RGB und HSL in gängigen Sprachen und Umgebungen. Jedes Beispiel verwendet zur leichteren Vergleichbarkeit dieselbe Indigo-Farbe (#6366F1).

JavaScript
// HEX → RGB
function hexToRgb(hex) {
  const n = parseInt(hex.replace('#', ''), 16)
  return [(n >> 16) & 255, (n >> 8) & 255, n & 255]
}
hexToRgb('#6366f1') // → [99, 102, 241]

// RGB → HSL
function rgbToHsl(r, g, b) {
  r /= 255; g /= 255; b /= 255
  const max = Math.max(r, g, b), min = Math.min(r, g, b)
  const l = (max + min) / 2
  if (max === min) return [0, 0, Math.round(l * 100)]
  const d = max - min
  const s = l > 0.5 ? d / (2 - max - min) : d / (max + min)
  let h = 0
  if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6
  else if (max === g) h = ((b - r) / d + 2) / 6
  else h = ((r - g) / d + 4) / 6
  return [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]
}
rgbToHsl(99, 102, 241) // → [239, 84, 67]
Python
import colorsys

# HEX → RGB
def hex_to_rgb(hex_str: str) -> tuple[int, int, int]:
    h = hex_str.lstrip('#')
    return tuple(int(h[i:i+2], 16) for i in (0, 2, 4))

hex_to_rgb('#6366f1')  # → (99, 102, 241)

# RGB → HSL (colorsys uses HLS order)
r, g, b = 99 / 255, 102 / 255, 241 / 255
h, l, s = colorsys.rgb_to_hls(r, g, b)
print(f"hsl({h * 360:.0f}, {s * 100:.0f}%, {l * 100:.0f}%)")
# → hsl(239, 84%, 67%)

# RGB → HSV
h, s, v = colorsys.rgb_to_hsv(r, g, b)
print(f"hsv({h * 360:.0f}, {s * 100:.0f}%, {v * 100:.0f}%)")
# → hsv(239, 59%, 95%)
Go
package main

import (
	"fmt"
	"math"
)

func hexToRGB(hex string) (int, int, int) {
	var r, g, b int
	fmt.Sscanf(hex, "#%02x%02x%02x", &r, &g, &b)
	return r, g, b
}

func rgbToHSL(r, g, b int) (int, int, int) {
	rf, gf, bf := float64(r)/255, float64(g)/255, float64(b)/255
	max := math.Max(rf, math.Max(gf, bf))
	min := math.Min(rf, math.Min(gf, bf))
	l := (max + min) / 2
	if max == min {
		return 0, 0, int(math.Round(l * 100))
	}
	d := max - min
	s := d / (2 - max - min)
	if l <= 0.5 {
		s = d / (max + min)
	}
	var h float64
	switch max {
	case rf: h = (gf - bf) / d; if gf < bf { h += 6 }
	case gf: h = (bf - rf) / d + 2
	case bf: h = (rf - gf) / d + 4
	}
	return int(math.Round(h / 6 * 360)), int(math.Round(s * 100)), int(math.Round(l * 100))
}

func main() {
	r, g, b := hexToRGB("#6366f1")
	fmt.Println(r, g, b)         // → 99 102 241
	fmt.Println(rgbToHSL(r, g, b)) // → 239 84 67
}
CSS
/* Modern CSS supports multiple color formats natively */

/* HEX notation */
.button { color: #6366f1; }

/* RGB functional notation */
.button { color: rgb(99 102 241); }

/* HSL — easier to adjust lightness and saturation */
.button { color: hsl(239 84% 67%); }

/* CSS Color Level 4: relative color syntax (Chrome 119+) */
.button-light { color: hsl(from #6366f1 h s calc(l + 20%)); }

/* color-mix() for tinting without manual conversion */
.button-muted { color: color-mix(in srgb, #6366f1 70%, white); }

Häufig gestellte Fragen

Was ist der Unterschied zwischen HSL und HSV?
Beide verwenden Farbton und Sättigung, definieren Helligkeit aber unterschiedlich. HSL nutzt Lightness (Helligkeit), wobei 50 % die reine Farbe, 0 % Schwarz und 100 % Weiß ist. HSV nutzt Value (Hellwert), wobei 100 % die reine Farbe und 0 % Schwarz ist — einen direkten Weißendpunkt gibt es nicht. In der Praxis wird HSL in CSS und Web-Entwicklung verwendet, während HSV das Modell hinter den meisten Farbwählern in Design-Software wie Photoshop und Figma ist.
Wie konvertiert man HEX in RGB in JavaScript?
Den Hex-String mit parseInt(hex, 16) in eine Ganzzahl umwandeln, dann jeden Kanal per Bit-Shift extrahieren: (n >> 16) & 255 für Rot, (n >> 8) & 255 für Grün und n & 255 für Blau. Das funktioniert für jeden 6-stelligen Hex-String mit oder ohne führendes #. Bei 3-stelliger Kurzform wie #F0F zuerst jede Stelle verdoppeln (FF00FF), bevor geparst wird.
Kann man HSL direkt in CSS verwenden?
Ja. Alle modernen Browser unterstützen hsl() und hsla() in CSS. Ab CSS Color Level 4 lautet die Syntax hsl(239 84% 67%) mit leerzeichen-getrennten Werten (Kommas werden weiterhin akzeptiert). Ein Alpha-Wert kann als vierter Parameter angegeben werden: hsl(239 84% 67% / 0.5). Safari, Chrome, Firefox und Edge unterstützen diese Syntax.
Ist Farbkonvertierung verlustbehaftet?
Mathematisch nicht. HEX, RGB, HSL und HSV beschreiben alle denselben sRGB-Farbraum, und die Konvertierungen sind umkehrbar. In der Praxis können kleine Rundungsunterschiede auftreten, weil HEX auf 256 Stufen pro Kanal begrenzt ist und HSL-Prozentwerte typischerweise auf ganze Zahlen gerundet werden. Mehrfaches Hin- und Herkonvertieren kann Rundungsfehler von 1–2 Einheiten aufschichten.
Was ist das 8-stellige HEX-Format?
Das 8-stellige HEX-Format fügt der Standard-6-stelligen HEX-Farbe zwei Alpha-Stellen (Transparenz) hinzu. Beispielsweise bedeutet #6366F180 dieselbe Indigo-Farbe mit 50 % Deckkraft (0x80 = 128, ungefähr 50 % von 255). CSS unterstützt diese Notation in allen modernen Browsern. Die Kurzform hat 4 Stellen, z. B. #63F8.
Warum sieht meine Farbe auf einem anderen Monitor anders aus?
Die Farbdarstellung hängt vom Farbprofil, der Helligkeit und der Gamma-Kalibrierung des Monitors ab. Zwei Bildschirme können denselben sRGB-Wert (#6366F1) unterschiedlich anzeigen, wenn ihre Farbprofile abweichen. Farbkonvertierungswerkzeuge arbeiten in einem definierten Farbraum (in der Regel sRGB) und liefern mathematisch korrekte Ergebnisse. Wahrnehmbare Unterschiede sind ein Kalibrierungsproblem des Displays, kein Konvertierungsfehler.
Wie erstellt man eine hellere oder dunklere Abstufung einer Farbe?
Die Farbe in HSL konvertieren und den L-Kanal (Lightness) anpassen. L in Richtung 100 % erhöhen liefert hellere Töne, in Richtung 0 % verringern dunklere Abstufungen. Farbton und Sättigung bleiben unverändert. In CSS ist das direkt möglich: hsl(239 84% 80%) ist eine hellere Version von hsl(239 84% 67%). Modernes CSS bietet auch color-mix(in srgb, #6366F1, white 30%) für denselben Effekt ohne manuelle Konvertierung.