Mercado
Preços
EntrarComeçar
Guia práticoCor
Cor

Cores HSL: o jeito mais amigável de escrever cores em CSS

O hex diz ao navegador o que pintar. O HSL diz a você o que a cor é: qual matiz, quão viva, quão clara. Isso faz dele o formato mais fácil de editar à mão.

GradientlyConta verificada do Gradiently·1 de outubro de 2026·6 min de leitura
Capa: Floating Era · GR·791P·AD

Resumindo

  • Uma cor HSL descreve a cor por matiz, saturação e luminosidade, em vez de quantidades de vermelho, verde e azul.
  • O matiz é um ângulo no círculo cromático de 0 a 360 graus, em que 0 é vermelho, 120 é verde e 240 é azul.
  • A saturação vai de 0% (cinza) a 100% (cor plena), e a luminosidade vai de 0% (preto), passando por 50% (o matiz puro), até 100% (branco).
  • O CSS moderno escreve hsl(262 83% 58%), com um alfa opcional depois de uma barra, e todos os navegadores em uso oferecem suporte.
  • A luminosidade do HSL não corresponde ao brilho que as pessoas percebem, então duas cores com a mesma luminosidade podem ter contrastes muito diferentes.
Nesta página
O que significam matiz, saturação e luminosidadeSintaxe HSL em CSSMonte uma escala de cores mudando a luminosidadeOnde o HSL engana vocêConvertendo HSL para hex e de volta

Uma cor HSL é escrita com três números: matiz, saturação e luminosidade. Em CSS, hsl(262 83% 58%) significa um matiz de 262 graus (violeta), 83% de saturação (viva) e 58% de luminosidade (um pouco acima do meio). É o mesmo violeta que #7c3bed, mas você consegue lê-lo. Quer mais claro? Aumente o último número. Mais suave? Diminua o do meio. Essa característica, um significado por número, é o que faz do HSL o jeito mais amigável de escrever cores à mão.

O que significam matiz, saturação e luminosidade

O matiz é uma posição no círculo cromático, dada em graus. O vermelho fica em 0 e de novo em 360, o amarelo em 60, o verde em 120, o ciano em 180, o azul em 240 e o magenta em 300. Mudar o matiz gira a cor mantendo a intensidade dela.

Matiz de 0 a 360 grauslinear-gradient(90deg, #ff0000 0%, #ffff00 16.67%, #00ff00 33.33%, #00ffff 50%, #0000ff 66.67%, #ff00ff 83.33%, #ff0000 100%)
Todos os matizes com 100% de saturação e 50% de luminosidade. Leia da esquerda para a direita: 0, 60, 120, 180, 240, 300 e de volta a 360.

A saturação é a quantidade de cor. Em 0% todo matiz vira o mesmo cinza; em 100% ele fica tão vivo quanto a tela permite. A luminosidade vai do preto em 0% ao branco em 100%, com o matiz puro em 50%. O modelo é explicado de forma mais ampla em matiz, saturação e brilho, que também mostra como o HSB dos apps de design difere do HSL do CSS.

Matiz0 a 360 (graus)

O que acontece ao mudar

Gira a cor: de violeta para azul e para verde-azulado
Saturação

Intervalo

0% a 100%

O que acontece ao mudar

Do cinza à cor plena
Luminosidade

Intervalo

0% a 100%

O que acontece ao mudar

Do preto, passando pelo matiz puro em 50%, até o branco
Alfa (opcional)

Intervalo

0 a 1, ou 0% a 100%

O que acontece ao mudar

Do invisível ao opaco
ValorIntervaloO que acontece ao mudar
Matiz0 a 360 (graus)Gira a cor: de violeta para azul e para verde-azulado
Saturação0% a 100%Do cinza à cor plena
Luminosidade0% a 100%Do preto, passando pelo matiz puro em 50%, até o branco
Alfa (opcional)0 a 1, ou 0% a 100%Do invisível ao opaco
Quatro números, cada um com uma função. Essa separação é todo o encanto.

Sintaxe HSL em CSS

Há duas grafias. A moderna separa os valores com espaços e coloca o alfa depois de uma barra. A antiga usa vírgulas e uma função hsla() separada. Os navegadores aceitam as duas, e hsl() agora também aceita alfa, então hsla() não é mais necessária. A referência do MDN para hsl() lista todas as formas.

css
.button {
  /* modern syntax */
  background: hsl(262 83% 58%);

  /* with 80% opacity */
  background: hsl(262 83% 58% / 0.8);

  /* older comma syntax, still valid */
  background: hsla(262, 83%, 58%, 0.8);

  /* hue can carry a unit */
  background: hsl(262deg 83% 58%);
}
As quatro são o mesmo violeta. A segunda e a terceira acrescentam 80% de opacidade.

Monte uma escala de cores mudando a luminosidade

É aqui que o HSL mostra o seu valor. Fixe o matiz e a saturação, avance a luminosidade em passos e você tem uma família de tons, matizes e sombras que claramente pertencem ao mesmo grupo. Aqui está um violeta em sete passos, com o hex correspondente a cada um.

hsl(262 83% L) em sete valores de luminosidade. Passos claros para fundos, os do meio para botões, os escuros para texto.

Junte isso a propriedades personalizadas de CSS e o seu tema inteiro depende de dois números. Guarde o matiz e a saturação uma vez e escolha uma luminosidade por função. Mude a variável do matiz e a interface inteira passa de violeta para verde-azulado, que é a ideia por trás de variáveis CSS para temas.

css
:root {
  --brand-h: 262;
  --brand-s: 83%;

  --brand-50:  hsl(var(--brand-h) var(--brand-s) 95%);
  --brand-200: hsl(var(--brand-h) var(--brand-s) 85%);
  --brand-500: hsl(var(--brand-h) var(--brand-s) 58%);
  --brand-800: hsl(var(--brand-h) var(--brand-s) 30%);
}

/* a teal theme is one line */
.theme-teal {
  --brand-h: 175;
}
Todas as cores da marca derivam do mesmo matiz, então a escala nunca sai da família.

Cores relativas

Navegadores mais novos também aceitam a sintaxe de cores relativas, que lê as partes HSL de qualquer cor e permite ajustá-las. hsl(from var(--brand) h s calc(l + 15%)) dá uma versão mais clara da cor da marca, seja ela qual for, mesmo que tenha sido definida em hex. Confira o suporte atual no caniuse antes de depender disso e mantenha uma alternativa simples. Para misturar duas cores em vez de ajustar uma, a ferramenta é color-mix() em CSS.

Onde o HSL engana você

O HSL é um rearranjo do RGB, não um modelo da visão humana. A luminosidade dele é uma média simples entre o canal mais forte e o mais fraco, então ignora o fato de que nossos olhos veem o amarelo e o verde como muito mais brilhantes que o azul. Resultado: duas cores com a mesma luminosidade HSL podem parecer completamente diferentes em brilho.

As quatro têm 50% de luminosidade. Sobre branco, o amarelo tem uma razão de contraste de cerca de 1,07:1 e o azul de cerca de 8,6:1.

Isso importa em dois lugares. Primeiro, uma escala feita avançando a luminosidade HSL fica desigual entre matizes: um amarelo em 50% é claro demais para texto, enquanto um azul em 50% passa com folga. Sempre teste pares reais num verificador de contraste. Segundo, gradientes e paletas geradas que giram o matiz com luminosidade fixa vão clarear e escurecer ao passar pelo amarelo e pelo azul.

O HSL é bom para

  • Ler e editar cores à mão
  • Tons e sombras de um único matiz
  • Trocar de tema rapidamente com variáveis
  • Dessaturar uma cor para um estado apagado

Use OKLCH para

  • Escalas que combinam entre matizes diferentes
  • Contraste previsível a partir da luminosidade
  • Gradientes que mantêm o brilho uniforme
  • Paletas geradas para design systems

O OKLCH mantém a mesma ideia amigável (luminosidade, colorido, matiz), mas mede a luminosidade do jeito que os olhos medem. Se você está começando um novo design system, ele é o padrão melhor; se está editando um CSS existente ou quer um ajuste rápido e legível, o HSL continua ótimo.

Convertendo HSL para hex e de volta

Raramente você precisa fazer a conta, já que toda ferramenta de design e o painel de devtools do navegador convertem para você: clique numa amostra de cor no devtools do Chrome ou do Firefox e alterne entre os formatos. Por baixo dos panos, o HSL é convertido primeiro para RGB, e de RGB para hex é uma conta simples de pares, explicada em hex para RGB. Espere pequenas diferenças de arredondamento: hsl(262 83% 58%) cai em #7c3bed, a um passo do #7c3aed com que você talvez tenha começado, porque porcentagens inteiras não alcançam todos os 16,7 milhões de valores hex.

Se você cria no Gradiently, quase nunca mexe nesses números: um Mark traz a própria paleta, e no Pro o kit de marca guarda as suas cores para o Designer aplicá-las por você.

Peça ao Designer

Descreva o que você precisa e a IA do Gradiently cria, no seu Mark.

Experimentar o Designer

Perguntas frequentes

O que significa HSL?

Hue, saturation e lightness, ou seja, matiz, saturação e luminosidade. O matiz é o ângulo no círculo cromático, a saturação é quão viva a cor é e a luminosidade é quão perto ela está do preto ou do branco.

Como escrever uma cor HSL em CSS?

Use hsl(matiz saturação% luminosidade%), por exemplo hsl(262 83% 58%). Acrescente transparência depois de uma barra: hsl(262 83% 58% / 0.5).

Ainda preciso de hsla()?

Não. hsl() aceita um valor de alfa em todos os navegadores atuais, então hsla() só existe por causa de código antigo.

Qual a diferença entre HSL e RGB?

O RGB diz quanto de luz vermelha, verde e azul misturar; o HSL diz qual matiz, quão viva e quão clara. Os dois descrevem as mesmas cores, mas o HSL é mais fácil de ajustar à mão.

Por que duas cores HSL com a mesma luminosidade parecem diferentes?

A luminosidade do HSL ignora a sensibilidade dos olhos a cada matiz, então o amarelo parece muito mais claro que o azul no mesmo valor. O OKLCH resolve isso com luminosidade perceptual.

Compartilhar este guia

Escrito pelo GradientlyConta verificada do Gradiently

A equipe por trás do Gradiently, uma ferramenta de design criada em torno dos Marks: gradientes vivos que fazem tudo o que você cria ter a sua cara.

Ver nosso perfil

Nesta página

O que significam matiz, saturação e luminosidadeSintaxe HSL em CSSMonte uma escala de cores mudando a luminosidadeOnde o HSL engana vocêConvertendo HSL para hex e de volta

Compartilhar este guia

A seguir em Cor

OKLCH explicado: cor perceptiva para designers

Continue lendo

Todos os guias de Cor
Cor

OKLCH explicado: cor perceptiva para designers

6 min de leitura

O HSL prometeu uma cor legível e quase entregou. O OKLCH mantém a parte legível e corrige a mentira sobre a luminosidade, e é por isso que os design systems estão migrando para ele.

Cor

Hex para RGB: converta códigos de cor à mão ou em código

6 min de leitura

Um código hex são só três números escritos em base 16. Quando você enxerga os pares, converter à mão leva segundos, e a versão em código tem quatro linhas.

Cor

Matiz, saturação e brilho (HSB) explicados de forma simples

5 min de leitura

Códigos hex são para máquinas. Matiz, saturação e brilho são o jeito como as pessoas realmente pensam em cor: qual cor, quão forte, quão clara. Aprenda os três controles e todo seletor de cores passa a fazer sentido.

Encontre o visual que é só seu.

Cada Mark é um fundo vivo com um único dono. Experimente um Mark ainda disponível e reserve o seu quando sentir que é ele.

Começar a criar

Verificar um certificado

Digite o número de um certificado ou o código de um Mark para ver quem é o dono.

Funciona com ChatGPT e Claude

Peça um design à sua IA. Ela cria no seu Mark, pronto para editar.

ChatGPTClaude
Como conectar

Produto

  • Mercado
  • Explorar
  • Preços
  • Certificados

Aprender

  • Guia prático
  • Central de ajuda
  • Novidades

Desenvolvedores

  • Visão geral
  • ChatGPT e Claude
  • Referência da API
  • Chaves de API

Empresa

  • Sobre
  • Fale conosco
  • Entrar

Jurídico

  • Termos
  • Privacidade
  • Reembolsos
  • Proteção do Mark
  • Cookies
  • Todas as políticas
Passe pelas letras. Cada uma veste um Mark de verdade.Toque em uma letra para ver o Mark dela.Um nome. Dez Marks dentro dele.
© 2026 Gradiently