hex-rgb.de
Technik 10 Min. Lesezeit

Hexadezimalsystem verstehen: Wie aus #FF5733 RGB-Werte werden

Eike-Christian Ramcke
Eike-Christian Ramcke
Aktualisiert: Juni 2026

Ein HEX-Farbcode wie #FF5733 wirkt auf den ersten Blick wie ein zufaelliger Code, ist aber eine sehr kompakte Zahl: Er kodiert drei Bytes, je eines fuer Rot, Gruen und Blau. Wer das Hexadezimalsystem versteht, sieht in #FF5733 sofort die RGB-Werte rgb(255, 87, 51) und durchschaut, warum jeder Kanal genau zwei Stellen hat, weshalb Werte nur von 0 bis 255 reichen und wo beim Alpha-Kanal kleine Rundungsfehler entstehen. Dieser Ratgeber erklaert die Mathematik dahinter so, dass du jeden Code im Kopf zerlegen kannst.

Das Hexadezimalsystem in einer Minute

Unser Alltagssystem ist dezimal, also zur Basis 10. Es kennt zehn Ziffern (0 bis 9), und jede Stelle nach links wiegt zehnmal mehr als die vorige. Das Hexadezimalsystem arbeitet stattdessen zur Basis 16. Es braucht sechzehn Symbole, und weil uns nach der 9 die Ziffern ausgehen, kommen die Buchstaben A bis F hinzu. Sie stehen fuer die Werte 10 bis 15.

Jede Stelle in einer Hexadezimalzahl wiegt das Sechzehnfache der rechts daneben. Die rechte Stelle zaehlt einfach (16 hoch 0 = 1), die naechste zaehlt sechzehnfach (16 hoch 1 = 16), die uebernaechste 256-fach (16 hoch 2). Genau diese Stellenwerte braucht man, um einen Farbcode umzurechnen.

Die folgende Tabelle ist das gesamte Vokabular, das du brauchst. Sie zeigt jede der sechzehn Hexadezimalziffern mit ihrem Dezimalwert und ihrer Vier-Bit-Darstellung:

Hex Dezimal Binaer (4 Bit) Hex Dezimal Binaer (4 Bit)
000000881000
110001991001
220010A101010
330011B111011
440100C121100
550101D131101
660110E141110
770111F151111

Warum ein Byte genau zwei Hex-Ziffern braucht

Computer speichern Farbkanaele in Bytes. Ein Byte besteht aus acht Bit, und acht Bit ergeben 2 hoch 8, also 256 moegliche Zustaende. Gezaehlt von null aus ist das der bekannte Wertebereich 0 bis 255. Eine einzelne Hexadezimalziffer deckt 16 Werte ab (vier Bit). Zwei Ziffern nebeneinander decken 16 mal 16 = 256 Werte ab, also exakt einen vollen Byte-Bereich von 00 bis FF.

Diese saubere Eins-zu-eins-Beziehung ist der eigentliche Grund, warum Farbcodes hexadezimal notiert werden und nicht dezimal: Jede Hex-Ziffer entspricht genau einem Halb-Byte (englisch Nibble). Die linke Ziffer beschreibt die oberen vier Bit, die rechte die unteren vier Bit. FF setzt alle acht Bit auf 1 und ergibt damit 255, 00 setzt alles auf 0.

Ein Byte = zwei Hex-Ziffern = zwei Nibbles 5 = 0101 obere 4 Bit (mal 16) A = 1010 untere 4 Bit (mal 1) 5 × 16 + 10 = 80 + 10 0x5A = 90 dezimal
Die linke Ziffer wiegt das Sechzehnfache, die rechte zaehlt einfach. So entsteht aus 5A der Wert 90.

Schritt fuer Schritt: #FF5733 zerlegen

Jetzt wenden wir die Stellenwert-Regel auf einen echten Farbcode an. Die Formel fuer jedes Zeichenpaar lautet: linke Ziffer mal 16 plus rechte Ziffer. Wir rechnen #FF5733 von Hand:

  1. In drei Paare teilen: FF (Rot), 57 (Gruen), 33 (Blau).
  2. Rot, FF: F ist 15. 15 mal 16 plus 15 = 240 plus 15 = 255.
  3. Gruen, 57: 5 mal 16 plus 7 = 80 plus 7 = 87.
  4. Blau, 33: 3 mal 16 plus 3 = 48 plus 3 = 51.
  5. Ergebnis: rgb(255, 87, 51).

Drei-, sechs- und achtstellige Codes im Vergleich

HEX-Codes kommen in mehreren Laengen vor, die alle in der W3C-Spezifikation CSS Color Module Level 4 definiert sind. Die Laenge entscheidet, wie viele Bit pro Kanal zur Verfuegung stehen und ob ein Alpha-Kanal enthalten ist:

Form Beispiel Bedeutung Ergibt
3-stellig (RGB) #F53 jede Ziffer verdoppelt rgb(255, 85, 51)
4-stellig (RGBA) #F53C verdoppelt, vierte Stelle = Alpha rgba(255, 85, 51, 0.8)
6-stellig (RRGGBB) #FF5733 volle 8 Bit pro Kanal rgb(255, 87, 51)
8-stellig (RRGGBBAA) #FF5733CC letzte 2 Stellen = Alpha rgba(255, 87, 51, 0.8)

Die Kurzformen sind reine Schreiberleichterungen. Eine dreistellige Form kann nur 16 mal 16 mal 16 = 4.096 Farben darstellen, eine sechsstellige dagegen 16,7 Millionen (256 hoch 3). Wer eine Farbe wie #FA7B12 hat, kann sie nicht verlustfrei kuerzen, weil die beiden Stellen jedes Kanals nicht gleich sind.

Der Alpha-Kanal und der Rundungsfehler

Bei achtstelligen Codes beschreiben die letzten beiden Stellen die Deckkraft, ebenfalls als Byte von 00 (vollstaendig transparent) bis FF (vollstaendig deckend). Das Problem: In CSS und in Design-Tools wird Alpha oft als Dezimalzahl zwischen 0 und 1 oder als Prozent erwartet. Diese Umrechnung ist nicht immer glatt.

CC ist hexadezimal 204. Geteilt durch 255 ergibt das 0,80000..., also genau 0,8, weil 204/255 sich kuerzen laesst. Anders sieht es bei 80 aus: Das ist 128, und 128/255 ergibt 0,50196..., also nicht exakt die Haelfte. Wer eine Deckkraft von 50 Prozent als HEX schreiben will, muss runden, und 0,5 mal 255 = 127,5 wird je nach Tool zu 127 (7F) oder 128 (80). Genau hier entstehen die typischen Rundungsabweichungen zwischen verschiedenen Programmen.

Die Umrechnung im Code nachvollziehen

In JavaScript erledigt parseInt mit der Basis 16 die Stellenwert-Rechnung automatisch. Fuer den Alpha-Kanal teilt man den Byte-Wert durch 255 und rundet auf zwei Nachkommastellen, um die typische CSS-Darstellung zu erhalten:

function hexToRgba(hex) {
  hex = hex.replace('#', '');
  // 3- und 4-stellige Kurzform auf volle Laenge bringen
  if (hex.length === 3 || hex.length === 4) {
    hex = hex.split('').map(c => c + c).join('');
  }
  const r = parseInt(hex.substring(0, 2), 16);
  const g = parseInt(hex.substring(2, 4), 16);
  const b = parseInt(hex.substring(4, 6), 16);
  if (hex.length === 8) {
    const a = parseInt(hex.substring(6, 8), 16) / 255;
    return `rgba(${r}, ${g}, ${b}, ${Math.round(a * 100) / 100})`;
  }
  return `rgb(${r}, ${g}, ${b})`;
}

hexToRgba('#FF5733');   // "rgb(255, 87, 51)"
hexToRgba('#F53');      // "rgb(255, 85, 51)"
hexToRgba('#FF5733CC'); // "rgba(255, 87, 51, 0.8)"

Der entscheidende Punkt ist der zweite Parameter 16 bei parseInt: Er teilt der Funktion mit, dass der Text als Hexadezimalzahl gelesen werden soll. Ohne ihn wuerde ein Paar wie FF gar nicht als Zahl erkannt.

Code lieber automatisch zerlegen?

Der HEX zu RGB Converter erkennt drei-, sechs- und achtstellige Codes automatisch, zeigt den Alpha-Wert sauber gerundet an und laeuft komplett lokal in deinem Browser, ohne Upload.

Jetzt HEX-Code umrechnen

Haeufige Fragen

Warum nutzen Farbcodes das Hexadezimalsystem und nicht Dezimalzahlen?

Weil sich ein Byte (acht Bit) mit genau zwei Hexadezimalziffern luekenlos abbilden laesst. Ein Byte hat 256 Zustaende (0 bis 255), und zwei Hex-Ziffern decken exakt 16 mal 16 = 256 Werte ab, von 00 bis FF. Eine Dezimaldarstellung haette diese saubere Eins-zu-eins-Zuordnung zur Bitstruktur nicht.

Wie wandle ich eine Hexadezimalziffer wie E in eine Dezimalzahl um?

Die Ziffern 0 bis 9 behalten ihren Wert, die Buchstaben A bis F stehen fuer 10 bis 15: A=10, B=11, C=12, D=13, E=14, F=15. Ein E entspricht also 14.

Was bedeutet die achtstellige Schreibweise #FF5733CC?

Die ersten sechs Stellen sind Rot, Gruen und Blau, die letzten beiden der Alpha-Kanal (Deckkraft). CC ist hexadezimal 204. Geteilt durch 255 ergibt das rund 0,80, also etwa 80 Prozent Deckkraft. In CSS entspricht das rgba(255, 87, 51, 0.8).

Entsteht beim Umrechnen von HEX in RGB ein Rundungsfehler?

Von HEX nach RGB nicht, weil beide ganzzahlig im Bereich 0 bis 255 arbeiten und verlustfrei ineinander passen. Rundungsfehler treten erst auf, wenn der Alpha-Kanal von 0 bis 255 auf einen Bruch zwischen 0 und 1 umgerechnet wird oder wenn man in Prozentwerte umwandelt: 204/255 ist 0,8 nur naeherungsweise.

Wie rechne ich einen dreistelligen HEX-Code wie #F53 um?

Jede Ziffer wird verdoppelt: F wird zu FF, 5 zu 55, 3 zu 33. Aus #F53 entsteht #FF5533, also rgb(255, 85, 51). Die Kurzform kann nur Farben darstellen, bei denen beide Stellen eines Kanals identisch sind.

Ist die Gross- oder Kleinschreibung im HEX-Code wichtig?

Nein. #FF5733 und #ff5733 beschreiben dieselbe Farbe. Hexadezimalziffern sind nicht case-sensitiv. In CSS und nahezu allen Programmiersprachen werden beide Schreibweisen identisch interpretiert.

Quellen

Verwandte Artikel

Grundlagen HEX in RGB umrechnen: Die einfache Anleitung mit Beispielen Grundlagen HEX, RGB, HSL und RGBA: Welches Farbformat wofuer? Standards Barrierefreie Farben: WCAG-Kontrast aus HEX/RGB berechnen
Anzeige
← Zurueck zum Converter
Anzeige
Anzeige
Anzeige
Anzeige