Como o computador cria cores: a história do RGB, HEX e binário
#FF0000. #00FF00. #0000FF. Você já deve ter encontrado essa notação em protótipos de design ou em código. Parece um código secreto, talvez um código de jogo. Na verdade, é o nome de uma cor.
De cima para baixo: vermelho, verde, azul. São os nomes que o computador usa para chamar as cores. Vamos entender de onde vem essa notação.
RGB — as três letras que criam cores
Red, Green, Blue. As três cores primárias da luz. Misturadas em diferentes proporções, elas formam todas as cores que vemos.
Usamos RGB todos os dias
Onde há uma tela, quase sempre há RGB.
- Monitor / TV — cada pixel é formado por três pontos: vermelho, verde e azul
- Tela de smartphone — mesma estrutura, pixels menores
- LED de teclado gamer — três LEDs R·G·B por tecla
- Iluminação do gabinete de PC — a fita RGB é exatamente o sinal RGB
Se você ampliar a tela o suficiente, vai ver: vermelho, verde e azul. Só isso. Milhões de pequenos pontos RGB se juntam para formar a imagem que você vê.
Cores são criadas pela mistura
Cada canal RGB tem uma intensidade de 0 a 255.
RGB(255, 0, 0)— vermelho no máximo → vermelho puroRGB(0, 255, 0)— verde no máximo → verde puroRGB(255, 255, 0)— vermelho + verde → amareloRGB(0, 0, 0)— tudo desligado → pretoRGB(255, 255, 255)— tudo no máximo → branco
Pode parecer estranho que vermelho + verde resulte em amarelo, mas isso é síntese aditiva de luz. É diferente das tintas que você misturava na escola (vermelho + verde = marrom). Com luz, quanto mais você adiciona, mais claro fica — e tudo junto vira branco.
Mova os três sliders e veja por si mesmo.
O número de 8 dígitos à direita é a representação binária de cada canal. Quando você move o slider, esse número muda junto. Como 0s e 1s geram 256 valores diferentes é o próximo assunto.
Por que de 0 a 255?
O computador trabalha apenas com 0 e 1. Cada posição que armazena 0 ou 1 é chamada de bit. À medida que o número de bits aumenta, a quantidade de valores possíveis dobra a cada bit.
8 bits = 1 byte. Uma cor tem três canais RGB, totalizando 3 bytes = 24 bits. Com 24 bits, é possível representar cerca de 16,7 milhões de cores — passos suficientes para o olho humano distinguir, então 1 byte por canal virou o padrão.
Lendo binário diretamente
Cada posição tem um valor fixo. Da esquerda para a direita: 128, 64, 32, 16, 8, 4, 2, 1 — potências de 2.
Some os valores das posições marcadas com 1 e você obtém o número em decimal.
Por isso o valor máximo de 8 bits é 255. É exatamente por isso que o intervalo de cada canal RGB vai de 0 a 255.
HEX — os mesmos números, de forma mais curta
RGB(255, 255, 255). São 16 caracteres. É longo para escrever em uma linha de CSS ou em um campo de ferramenta de design toda vez. Por isso surgiu uma forma mais curta de escrever os mesmos números.
O que é hexadecimal
Hexadecimal é um sistema numérico que representa de 0 a 15 com um único caractere. Porém, os dígitos que usamos normalmente vão só de 0 a 9 — são apenas 10. Os 6 restantes são emprestados do alfabeto.
São três regras simples:
- 0–9 continuam iguais
- A partir de 10, começa com A
- F é o valor máximo de um único caractere (= 15)
Por que hexadecimal?
4 dígitos binários (0000 a 1111) representam exatamente 16 valores.
4 dígitos binários = 1 caractere hexadecimal. Quatro dígitos se tornam um único caractere. Como cada canal RGB tem 8 bits, ele cabe exatamente em dois caracteres hexadecimais.
Como converter RGB para HEX
Vamos converter RGB(255, 87, 51).
A notação que tinha 14 caracteres vira 7 caracteres.
Como deduzir a cor a partir do HEX
Olhando o HEX ao contrário, dá para ter uma ideia da cor.
#FF5733— R máximo (FF), G médio (57), B baixo (33) → laranja com forte vermelho#3576E0— R baixo (35), G médio (76), B forte (E0) → azul levemente arroxeado#29A85A— R baixo (29), G forte (A8), B baixo (5A) → verde fresco
Se você consegue olhar para três dígitos e distinguir “é laranja ou azul?”, designers e desenvolvedores podem se comunicar na mesma linguagem.
Resumo em uma linha
- RGB — três canais: vermelho, verde e azul, cada um de 0 a 255
- Binário de 8 bits — o que está por trás dos 256 valores de cada canal
- HEX — a mesma notação numérica escrita de forma mais curta, em dois caracteres
Quando esses três conceitos se conectam, o código de cor deixa de parecer língua estrangeira. Os três números do RGB são exatamente os seis caracteres do HEX.
O próximo passo é transformar esses números na linguagem do designer. Pedidos como “um pouco mais claro”, “menos saturado” ou “o mesmo no papel” são difíceis de lidar só com RGB e HEX. Como HSL, CMYK e OKLCH resolvem isso está explicado em RGB não é suficiente: notações de cor HSL, CMYK e OKLCH.