Conversor de Cor
Converta instantaneamente entre códigos de cor HEX, RGB e HSL. Seletor de cor incluído, grátis.
1.074 visualizações
Como Funciona
Essas três notações descrevem exatamente a mesma cor — elas apenas codificam os níveis de luz vermelha, verde e azul que uma tela mistura para produzi-la. RGB armazena cada canal como um número decimal de 0 a 255. HEX é simplesmente o RGB escrito em base 16: cada canal vira um par hexadecimal de dois dígitos, então rgb(255, 128, 0) se torna #ff8000 (ff = 255, 80 = 128, 00 = 0). Nenhuma informação de cor é ganha ou perdida nessa tradução — é pura notação.
HSL é diferente: ele reexpressa a cor ao longo de três eixos perceptuais — matiz, saturação e luminosidade — calculados matematicamente a partir dos canais RGB. O matiz (0–360°) é o ângulo em uma roda de cores, calculado a partir de qual canal é o maior e o quanto os canais estão distantes entre si: para #ff8000, o vermelho é o máximo (255) e o azul é o mínimo (0), e a fórmula 60 × ((verde − azul) / (máx − mín)) dá 60 × (128/255) ≈ 30°, colocando-o na faixa laranja. A luminosidade é a média entre o canal mais alto e o mais baixo — aqui (255 + 0) / 2 ≈ 50%. A saturação mede o quão distante a cor está do cinza naquela luminosidade — 100% aqui, já que um canal está na intensidade máxima e outro em zero. Juntos, formam hsl(30, 100%, 50%) — o mesmo laranja de #ff8000, descrito de outra forma.
É exatamente por isso que os designers preferem HSL ao RGB: para tornar uma cor 20% mais escura mantendo seu matiz, o HSL só precisa reduzir o valor de luminosidade — o RGB exigiria recalcular os três canais proporcionalmente. Escolha uma cor no seletor ou digite qualquer código HEX e esta ferramenta converte instantaneamente para as duas notações.
O Que Você Deve Saber
O HEX curto de 3 dígitos (#f80) e as formas de 4/8 dígitos com canal alfa (#ff8000cc, rgba(255,128,0,0.8)) são variantes comuns; esta ferramenta trabalha com HEX opaco padrão de 6 dígitos e seus equivalentes em RGB/HSL. Nomes de cores como orange mapeiam para valores HEX fixos definidos na especificação CSS, mas nem toda cor nomeada tem um código HEX memorável, o que é mais um motivo para os desenvolvedores converterem de um lado para o outro. Duas cores que parecem idênticas em um monitor podem ser exibidas de forma ligeiramente diferente em outro, porque as telas de consumo variam em gama de cores e calibração — os valores HEX/RGB/HSL são números exatos, mas a luz que produzem não tem garantia de ser idêntica entre telas. Ao escolher cores de texto e de fundo, lembre-se de que o valor de luminosidade do HSL não é o mesmo que contraste perceptual — um amarelo saturado e um azul saturado podem compartilhar o mesmo valor L e ainda assim parecer muito diferentes contra o branco, então verificações de acessibilidade devem usar um cálculo de taxa de contraste adequado, não apenas o número L.
O CSS também aceita RGB baseado em porcentagem, como rgb(100%, 50%, 0%), como equivalente exato a rgb(255, 128, 0) — útil ao trabalhar com ferramentas de design que expressam cor em porcentagens em vez de inteiros de 0 a 255. Funções de cor mais novas do CSS, como oklch() e lab(), vão um passo além do HSL: são construídas para ser perceptualmente uniformes, ou seja, passos numéricos iguais em luminosidade parecem igualmente diferentes ao olho humano em qualquer matiz, algo que o HSL puro não garante totalmente. Para o trabalho cotidiano de web e interface, porém, HEX, RGB e HSL continuam sendo os três formatos que você encontrará em praticamente todo código, guia de estilo e ferramenta de design.
Perguntas Frequentes
Como converto uma cor HEX para RGB?
Divida o código HEX em três pares de dois dígitos e leia cada um como um número em base 16: para #ff8000, ff=255 (vermelho), 80=128 (verde), 00=0 (azul), resultando em rgb(255, 128, 0). Esta ferramenta faz a conversão instantaneamente enquanto você digita ou escolhe uma cor.
Códigos HEX de 3 dígitos (como #f80) são suportados?
Sim. A notação curta duplica cada dígito para expandir para a forma completa de 6 dígitos — #f80 se torna #ff8800 — e a ferramenta aceita as formas curta e longa de maneira intercambiável.
Quando devo preferir HSL em vez de RGB?
Sempre que precisar de uma variante mais clara, mais escura ou mais suave de uma cor que já tem. No HSL você muda um único valor — luminosidade ou saturação — e o matiz permanece travado; no RGB o mesmo ajuste significa recalcular os três canais proporcionalmente. O CSS aceita hsl() diretamente, então isso não é apenas uma conveniência em tempo de design.
Como o valor de matiz no HSL é calculado de fato?
O matiz vem da relação angular entre os canais RGB: a fórmula observa qual canal é o maior, qual é o menor e a diferença entre eles, então mapeia isso em uma roda de cores de 0–360°. Para #ff8000 (255, 128, 0), o vermelho é o mais alto e o azul é o mais baixo, o que coloca o matiz em 30°, bem no meio da faixa laranja.
Converter entre HEX, RGB e HSL perde alguma precisão de cor?
Não — HEX e RGB são duas notações para os mesmos números idênticos, e HSL é uma transformação determinística e reversível desses mesmos números. Converter de um lado para outro qualquer número de vezes retorna exatamente a cor original; nada é arredondado e perdido em nenhuma direção.
Ferramentas Semelhantes
Reportar um Problema
Conversor de Cor
Comentários
Ainda não há comentários — seja o primeiro a escrever um!