Hur datorer skapar färger: RGB, HEX och binära tal
#FF0000. #00FF00. #0000FF. Du har förmodligen sett den här notationen i designskisser eller kod. Det kan se ut som en hemlig kod eller ett spelcheat. Det är faktiskt ett färgnamn.
Uppifrån och ned: rött, grönt, blått. Det är namnen datorer använder för färger. Låt oss ta reda på varifrån den här notationen kommer.
RGB — tre bokstäver som skapar färg
Red, Green, Blue. Ljusets tre primärfärger. Alla synliga färger skapas genom att blanda dessa i olika proportioner.
Vi ser RGB varje dag
Var det finns en skärm finns det nästan alltid RGB.
- Monitorer / TV — varje pixel består av tre underpunkter: röd, grön och blå
- Smarttelefoner — samma struktur, mindre pixlar
- Gaming-tangentbord med LED — tre lysdioder (R, G, B) per tangent
- PC-chassibelysning — RGB-strips skickar RGB-signaler
Zoomar du in tillräckligt ser du det. Rött, grönt, blått. Det är allt. Miljontals små RGB-punkter bildar tillsammans den skärmbild du ser.
Färger skapas genom blandning
Varje RGB-kanal har ett intensitetsvärde från 0 till 255.
RGB(255, 0, 0)— bara rött på max → rent röttRGB(0, 255, 0)— bara grönt på max → rent gröntRGB(255, 255, 0)— rött + grönt → gultRGB(0, 0, 0)— allt av → svartRGB(255, 255, 255)— allt på max → vitt
Det kan kännas kontraintuitivt att rött och grönt ger gult, men det handlar om additiv ljusblandning. Det skiljer sig från att blanda färg (rött + grönt = brunt). Ljus blir ljusare ju mer du lägger till — allt ihop ger vitt.
Dra i de tre reglagen och se vad som händer.
De 8-siffriga talen till höger är kanalens binära representation. Flytta reglaget och se hur de ändras. Hur 0 och 1 kan representera 256 värden är nästa ämne.
Varför just 0 till 255?
Datorer hanterar bara 0 och 1. En position som rymmer 0 eller 1 kallas en bit. För varje bit som läggs till fördubblas antalet möjliga värden.
8 bitar = 1 byte. En färg har tre RGB-kanaler, alltså totalt 3 bytes = 24 bitar. 24 bitar representerar ungefär 16,7 miljoner färger — tillräckligt för det mänskliga ögat, vilket är varför 1 byte blev standard per kanal.
Läsa binär kod direkt
Varje position har ett fast värde. Från vänster: 128, 64, 32, 16, 8, 4, 2, 1 — potenser av 2.
Addera värdena för alla positioner med en 1:a, så får du decimalvärdet.
Det är därför maxvärdet för 8 bitar är 255. Det är den exakta anledningen till att en RGB-kanal spänner över 0–255.
HEX — samma siffror, kortare notation
RGB(255, 255, 255). Det är 16 tecken. För CSS eller designverktyg är det lite långt att skriva varje gång. Därför uppstod ett kortare sätt att skriva samma siffror.
Vad är hexadecimalt?
Hexadecimalt (hex) är ett talsystem där ett enda tecken representerar 0 till 15. Vanliga siffror täcker bara 0–9 — tio värden. De sex saknade lånar vi från alfabetet.
Tre regler:
- 0–9 fungerar som vanligt
- 10 börjar med A
- F är det högsta enstaka tecknet (= 15)
Varför hexadecimalt?
Binärt med 4 siffror (0000–1111) representerar exakt 16 värden.
4 binära siffror = 1 hexadecimalt tecken. Fyra siffror pressas ihop till ett. Eftersom en RGB-kanal är 8 bitar passar det perfekt in i exakt 2 hexadecimala tecken.
Konvertera RGB till HEX
Låt oss konvertera RGB(255, 87, 51).
14 tecken krymper till 7 tecken.
Avläsa färg från HEX
Tittar du baklänges på en HEX-kod kan du gissa färgen.
#FF5733— R max (FF), G halvvägs (57), B lågt (33) → röd-dominant orange#3576E0— R lågt (35), G medel (76), B starkt (E0) → lite lila blå#29A85A— R lågt (29), G starkt (A8), B lågt (5A) → frisk grön
Känner du igen de tre segmenten — “är det orangeaktigt eller blåaktigt?” — kan designers och utvecklare prata samma språk.
Kort sammanfattning
- RGB — tre kanaler, röd, grön, blå, vardera 0–255
- 8-bitars binär — det är vad 256 värden per kanal innebär
- HEX — ett kortare sätt att skriva samma siffror, med två tecken per kanal
Förstår du kopplingen mellan de tre begreppen är färgkoder inte längre ett mysterium. De tre siffrorna i RGB är precis de sex tecknen i HEX.
Nästa steg är att översätta dessa tal till formgivarnas språk. Önskemål som «lite ljusare», «mindre mättat» eller «samma på papper» är svåra att hantera med bara RGB och HEX. Hur HSL, CMYK och OKLCH löser detta beskrivs i RGB räcker inte: HSL, CMYK och OKLCH – färgnotationer förklarade.