Conversão exata entre RGB decimal e hexadecimal
A página de conversão RGB para hex recebe três números decimais — cada um entre 0 e 255 — e retorna imediatamente o código hexadecimal equivalente, como #1E90FF. O resultado é acompanhado por uma amostra visual da cor e pela atualização simultânea de todos os outros formatos suportados: HSL, HSV, CMYK, LAB e o seletor de cores. O diferencial desta página está na natureza da conversão. RGB (três canais decimais) e hex (seis dígitos hexadecimais) representam exatamente o mesmo espaço de cores sRGB, o padrão da vasta maioria dos monitores e dispositivos modernos. Não há recorte de gama, aproximação ou perda de informação — a transformação é reversível e exata. O hex gerado sempre tem seis dígitos, sem canal alfa, a menos que o usuário opte pela forma de oito dígitos (não implementada aqui). O campo de entrada aceita os três números separados por vírgulas ou espaços — por exemplo, 79, 70, 229 — e o resultado é #4F46E5. Enquanto você edita qualquer um dos campos de formato (RGB, hex, HSL, etc.), todos os outros são atualizados instantaneamente: não há um botão “converter”.
A matemática por trás da conversão
Cada valor decimal entre 0 e 255 é convertido em exatos dois dígitos hexadecimais. O método é direto: divide-se o valor por 16. O quociente inteiro (entre 0 e 15) vira o primeiro dígito; o resto da divisão (também entre 0 e 15) vira o segundo. Na base hexadecimal, os dígitos de 10 a 15 são representados pelas letras A a F (ou a–f, a página aceita ambas). Por exemplo:
- 79 ÷ 16 = 4 (quociente) com resto 15. Em hex, 4 é
4e 15 éF, resultando em4F. - 70 ÷ 16 = 4 com resto 6 →
46. - 229 ÷ 16 = 14 com resto 5 →
E5.
Juntando os três pares: 4F46E5. Com o prefixo #, obtemos #4F46E5.
Aplicado aos extremos do intervalo: 255 ÷ 16 = 15 com resto 15 → FF. 0 ÷ 16 = 0 com resto 0 → 00. Por isso, branco puro é #FFFFFF e preto é #000000. Cada canal de 8 bits (0–255) mapeia-se perfeitamente em dois nibbles hexadecimais, sem sobra ou arredondamento. A conversão é matemática e reversível: dado #4F46E5, basta converter 4F de volta para decimal (4×16 + 15 = 79), 46 (4×16 + 6 = 70) e E5 (14×16 + 5 = 229) para recuperar os valores RGB originais.
Regras de entrada e casos de borda
O campo de entrada aceita três números separados por vírgula ou espaço — 79, 70, 229 e 79 70 229 são igualmente válidos. Se você digitar valores fora do intervalo 0–255 ou um formato inválido (como texto livre, apenas dois números, ou separadores não permitidos), o sistema exibe a mensagem de erro: “Informe três números de 0 a 255, como 79, 70, 229.” Nenhuma conversão ocorre até que a entrada seja corrigida.
O hex de saída é sempre de seis dígitos. A página não colapsa automaticamente pares iguais — #AABBCC permanece como #AABBCC, não vira #ABC. Porém, o campo de entrada hex aceita a forma abreviada de três dígitos (ex.: #abc) e a expande internamente para seis dígitos (#AABBCC). Isso segue a prática comum em CSS, onde #abc é uma abreviação válida que o navegador interpreta como #aabbcc. A página respeita essa mesma lógica para facilitar a digitação.
Toda edição em qualquer campo (RGB, hex, HSL, HSV, CMYK, LAB, seletor de cores) aciona a atualização de todos os outros — não há necessidade de pressionar Enter ou clicar em um botão. O processamento ocorre inteiramente no navegador: nada que você digita é enviado a servidores.
O modelo RGB e o espaço sRGB
RGB é um modelo aditivo de cor: três fontes de luz — vermelha (R), verde (G) e azul (B) — somam-se para formar uma cor. Cada canal usa uma escala de 0 (desligado, sem luz) a 255 (máxima intensidade). Esse intervalo de 256 valores vem da representação de 8 bits por canal, padrão em computação desde os primeiros monitores coloridos. O espaço de cores utilizado é o sRGB (standard RGB), que define as primárias exatas, o ponto branco e a curva de gama. sRGB é o espaço padrão da web, dos sistemas operacionais e da maioria dos dispositivos de exibição.
Como hex e RGB operam exatamente no mesmo espaço sRGB, a conversão entre eles é puramente notacional — não há transformação de cor, perfil ICC ou ajuste de gama. Por isso, o resultado é sempre reversível e sem perda. Isso difere, por exemplo, da conversão de RGB para CMYK, que envolve mudança de modelo aditivo para subtrativo e geralmente requer perfis de impressão. Aqui, estamos apenas trocando a base numérica (decimal para hexadecimal) dentro do mesmo modelo.
Como usar o hex em CSS e outras ferramentas
Em CSS, o valor hex é usado em propriedades como color e background-color. Exemplo prático:
.exemplo {
background-color: #4F46E5;
color: #FFFFFF;
}
O prefixo # é obrigatório. As letras podem ser maiúsculas ou minúsculas — o CSS não diferencia. Por convenção, muitos desenvolvedores usam maiúsculas para melhor legibilidade, mas isso é uma escolha estilística, não uma regra técnica.
O formato de seis dígitos (#RRGGBB) é o mais comum. Existe também o formato de oito dígitos (#RRGGBBAA) que adiciona um canal alfa (transparência), mas este conversor não o gera — o foco é a forma sem transparência, que corresponde ao uso mais frequente em CSS. Se você precisar de transparência, pode adicionar manualmente o valor alfa (00–FF) ao código gerado.
O hex obtido pode ser usado diretamente em editores de imagem (Photoshop, GIMP, Figma, Sketch), em bibliotecas JavaScript que manipulam cores, e em qualquer lugar que aceite o formato #rrggbb. A página também mostra a cor visualmente, facilitando a verificação antes de copiar o código.
Limitações a ter em mente
Como a conversão opera no espaço sRGB, a cor exibida na tela é fiel ao código hex gerado. No entanto, se o objetivo for impressão, lembre-se de que hex e RGB representam cores para luz emitida (telas), enquanto a impressão usa pigmentos (CMYK ou tintas diretas). A mesma cor #4F46E5 pode parecer diferente em um papel jato de tinta ou em uma impressora offset, dependendo do perfil de cor e do tipo de papel. Para trabalhos de impressão, é necessário converter para o espaço de cores do dispositivo de saída.
Outra limitação: o intervalo de 0–255 por canal cobre apenas 16,78 milhões de cores (256³), o que é suficiente para a grande maioria das aplicações digitais, mas não cobre espaços de cores ampliados como Adobe RGB ou DCI-P3. Se você trabalha com fotografia profissional ou design para cinema, pode precisar de conversões que preservem um gamut maior — este conversor, por operar exclusivamente em sRGB, não oferece essa funcionalidade.
Perguntas frequentes (FAQ)
1. Por que o hex gerado tem sempre seis dígitos?
Cada valor RGB de 0–255 se converte em exatos dois dígitos hexadecimais (um par por canal). Três canais × 2 dígitos = seis. A forma de três dígitos (#ABC) é uma abreviação opcional que a página aceita na entrada, mas não produz automaticamente na saída, para evitar ambiguidade: #AABBCC e #ABC são equivalentes, mas a versão de seis dígitos é mais explícita e evita confusões com pares não repetidos.
2. Posso usar espaços ou vírgulas para separar os números RGB?
Sim, ambos são aceitos. Exemplos válidos: 79, 70, 229 ou 79 70 229. O separador pode ser uma vírgula seguida de espaço, só vírgula ou só espaço. Não use outros separadores como ponto-e-vírgula, barra ou traço.
3. O que acontece se eu digitar um valor fora de 0–255?
A página exibe a mensagem de erro: “Informe três números de 0 a 255, como 79, 70, 229.” Nenhuma conversão é realizada até que todos os três valores estejam no intervalo correto. O mesmo ocorre se você digitar letras, símbolos ou um número de argumentos diferente de três.
4. A página guarda meus dados? A conversão é feita localmente?
Todo o processamento ocorre no navegador, em JavaScript. Nenhum dado é enviado a servidores — nem os valores RGB, nem o código hex gerado, nem qualquer interação sua. Você pode usar a página offline (uma vez carregada) e com total privacidade.
5. Por que a cor na tela pode diferir da impressão?
O hex e o RGB representam cores no espaço sRGB, adequado para telas modernas. Para impressão, é necessário converter para o espaço de cor do dispositivo de saída (geralmente CMYK ou perfis baseados em papel). Este conversor não realiza essa conversão — ele é exclusivamente para ambientes digitais onde sRGB é o padrão.
6. Posso usar #abc como entrada no campo hex?
Sim. O campo de entrada hex aceita a forma abreviada de três dígitos (#abc) e a expande internamente para seis dígitos (#aabbcc). Isso é útil se você está acostumado com a abreviação do CSS. O resultado nos outros campos (como RGB) será calculado a partir da versão expandida.