FreeToGenerate.com

100% gratuito · sem registo · tudo no seu navegador

  • Matiz210°
  • Saturação77%
  • Luminosidade58%
Outros formatos
Cor nomeada mais próxima

Clique em qualquer valor para copiá-lo — a amostra atualiza enquanto você digita.

Também disponível em: English · Español · Français · العربية

Conversor de RGB para HSL

Transforme valores de vermelho, verde e azul num hsl() legível, pronto para descrever ou ajustar a cor.

O que é esta conversão

RGB representa uma cor pelos três canais de luz que a compõem — vermelho, verde e azul, cada um entre 0 e 255 — e é a forma que chega diretamente de um seletor de cor do sistema operativo, de uma leitura de ecrã ou de uma tela HTML. HSL descreve a mesma cor de outra forma: matiz (a posição na roda de cores, de 0 a 360 graus), saturação (quão viva é a cor, em percentagem) e luminosidade (quão clara ou escura é, também em percentagem).

Converter RGB para HSL costuma acontecer quando os números chegam de uma fonte que só fala a linguagem dos canais — um conta-gotas de cor, uma ferramenta de captura de ecrã, uma leitura feita a partir de canvas — mas o que precisa é de descrever ou ajustar a cor em termos que fazem sentido a uma pessoa: mais saturada, mais clara, um pouco mais para o verde.

Esta ferramenta faz a conversão em tempo real: escreva rgb(64, 147, 230) ou apenas 64, 147, 230, ou ajuste os três campos de vermelho, verde e azul, e o valor hsl() correspondente aparece de imediato, pronto a copiar.

Como converter RGB para HSL

  1. Escreva o valor no campo de texto, ou ajuste o vermelho, o verde e o azul nos três campos numéricos por baixo. Aceita tanto rgb(64, 147, 230) completo como apenas 64, 147, 230, e os dois métodos mantêm-se sincronizados em qualquer direção.
  2. Veja a amostra de cor e o valor hsl() calculado ao lado. Clique sobre o valor para o copiar de imediato para a área de transferência.
  3. Consulte a linha «outros formatos» para obter a mesma cor em hex e em RGB por extenso. Encontra também a ligação para a cor nomeada mais próxima e para o seletor de cores completo.

Para que serve esta conversão

Este sentido da conversão serve quem já tem os três números de um canal — vindos de um conta-gotas, de uma ferramenta de captura de cor num ecrã, ou de um valor lido a partir de canvas ou de uma imagem — e precisa de perceber ou descrever essa cor em vez de apenas a reproduzir. Três números entre 0 e 255 não dizem, à primeira vista, se a cor é clara, escura, saturada ou acinzentada; em HSL essa leitura é imediata.

É também o passo habitual antes de ajustar uma cor captada: depois de converter para HSL, pode manter a matiz e a saturação obtidas e apenas subir ou descer a luminosidade para gerar uma versão mais clara ou mais escura da mesma cor lida, sem ter de recalcular manualmente os três canais de RGB.

Limites honestos

Os valores de RGB que escreve aqui são exatos — números inteiros entre 0 e 255 — e a transformação para HSL, feita com precisão total, não perde nada: confirmámos isto convertendo as 16 777 216 cores sRGB possíveis para HSL e de volta, com as 16 777 216 a regressarem exatamente à cor de partida, 0 falhas. O cálculo foi ainda comparado com o módulo colorsys da biblioteca padrão do Python em mais de 60 000 cores, sem qualquer divergência.

A limitação está no ecrã, não na matemática: tal como qualquer outra ferramenta, o valor hsl() aqui mostrado é arredondado a graus inteiros e percentagens inteiras. Se depois converter esse HSL arredondado outra vez para hex ou RGB, só 1 775 570 das 16 777 216 cores (10,58%) regressam exatamente à cor original; as restantes 15 001 646 (89,42%) voltam ligeiramente diferentes — porque a matiz, a saturação e a luminosidade arredondadas só têm 3 672 360 combinações possíveis (360 × 101 × 101) para representar 16 777 216 cores, o que obriga pelo menos 78,11% delas a partilhar etiqueta com outra.

Na prática o desvio costuma ser pequeno — 54,38% das cores desviam-se apenas 1 no canal mais afetado, 32,06% desviam-se 2, e o pior caso medido, #02E4E6, mostra-se como hsl(181, 98%, 45%) e regressa como #02DFE3 — mas é o resultado comum, não a exceção, por isso convém tratar o hsl() apresentado como uma leitura arredondada útil para descrever e ajustar a cor, não como um valor para gravar e reconverter repetidamente.

Há ainda um caso particular que vale a pena conhecer: quando vermelho, verde e azul são iguais — um cinzento — a matiz não tem, matematicamente, nenhuma direção para apontar na roda de cores. A convenção seguida aqui, como na generalidade das ferramentas, é mostrar matiz 0 nesse caso.

Porque é gratuito

A conversão de RGB para HSL é aritmética simples que corre inteiramente no seu navegador, sem qualquer envio de dados a um servidor — por isso não há custo que justifique cobrar por ela. Não é preciso criar conta, o resultado não leva marca de água e não existe limite de utilizações.