Ferramentas CSS: Cores, Contraste, Clamp e Unidades
Converta cores HEX, RGB e HSL, calcule contraste WCAG, gere CSS clamp() e converta px, rem, em, vw e vh no navegador. Suíte frontend 100% local.

Processamento 100% local no seu navegador. Nenhum dado, texto, arquivo ou senha é enviado para servidor.
#2563ebrgb(37, 99, 235)hsl(221, 83%, 53%)Cores básicas do CSS em HEX, RGB e HSL, com o contraste
Deslize a tabela para o lado: são 6 colunas.
| Cor | HEX | RGB | HSL | Texto branco | Texto preto |
|---|---|---|---|---|---|
black Preto | #000000 | rgb(0, 0, 0) | hsl(0, 0%, 0%) | 21,00:1 passa | 1,00:1 reprova |
silver Prata | #c0c0c0 | rgb(192, 192, 192) | hsl(0, 0%, 75%) | 1,82:1 reprova | 11,54:1 passa |
gray Cinza | #808080 | rgb(128, 128, 128) | hsl(0, 0%, 50%) | 3,95:1 reprova | 5,32:1 passa |
white Branco | #ffffff | rgb(255, 255, 255) | hsl(0, 0%, 100%) | 1,00:1 reprova | 21,00:1 passa |
maroon Bordô | #800000 | rgb(128, 0, 0) | hsl(0, 100%, 25%) | 10,95:1 passa | 1,92:1 reprova |
red Vermelho | #ff0000 | rgb(255, 0, 0) | hsl(0, 100%, 50%) | 4,00:1 reprova | 5,25:1 passa |
purple Roxo | #800080 | rgb(128, 0, 128) | hsl(300, 100%, 25%) | 9,42:1 passa | 2,23:1 reprova |
fuchsia Fúcsia | #ff00ff | rgb(255, 0, 255) | hsl(300, 100%, 50%) | 3,14:1 reprova | 6,70:1 passa |
green Verde | #008000 | rgb(0, 128, 0) | hsl(120, 100%, 25%) | 5,14:1 passa | 4,09:1 reprova |
lime Verde-limão | #00ff00 | rgb(0, 255, 0) | hsl(120, 100%, 50%) | 1,37:1 reprova | 15,30:1 passa |
olive Oliva | #808000 | rgb(128, 128, 0) | hsl(60, 100%, 25%) | 4,20:1 reprova | 5,01:1 passa |
yellow Amarelo | #ffff00 | rgb(255, 255, 0) | hsl(60, 100%, 50%) | 1,07:1 reprova | 19,56:1 passa |
navy Azul-marinho | #000080 | rgb(0, 0, 128) | hsl(240, 100%, 25%) | 16,01:1 passa | 1,31:1 reprova |
blue Azul | #0000ff | rgb(0, 0, 255) | hsl(240, 100%, 50%) | 8,59:1 passa | 2,44:1 reprova |
teal Azul-petróleo | #008080 | rgb(0, 128, 128) | hsl(180, 100%, 25%) | 4,77:1 passa | 4,40:1 reprova |
aqua Ciano | #00ffff | rgb(0, 255, 255) | hsl(180, 100%, 50%) | 1,25:1 reprova | 16,75:1 passa |
orange Laranja | #ffa500 | rgb(255, 165, 0) | hsl(39, 100%, 50%) | 1,97:1 reprova | 10,63:1 passa |
Nomes e HEX das 16 palavras-chave de cor do CSS nível 1 e do orange, que entrou no CSS nível 2, conforme a lista de cores com nome do MDN. RGB, HSL e as razões foram calculados pelo mesmo motor da ferramenta. O veredito é o do nível AA para texto normal (4,5:1, critério 1.4.3 da WCAG 2.2), sem arredondar a razão.
Em resumo
A página junta quatro conversões de CSS que rodam no navegador. A cor que abre a aba Cores, #2563eb, sai como rgb(37, 99, 235) e hsl(221, 83%, 53%): é a mesma cor escrita de três jeitos. No contraste, a conta segue os critérios 1.4.3 e 1.4.6 da WCAG 2.2, na versão do W3C de 12 de dezembro de 2024. Texto normal pede 4,5:1 no nível AA e 7:1 no AAA; texto grande pede 3:1 no AA. A escala vai de 1:1, com cores iguais, a 21:1, preto sobre branco.
O veredito sai da razão sem arredondar, como pede o W3C. Por isso o cinza #767676 passa sobre fundo branco, com 4,54:1, e o #777777, um tom acima, reprova com 4,48:1. O vermelho do CSS também engana: texto branco sobre #ff0000 dá 4,00:1 e reprova, enquanto o azul-petróleo (#008080) passa com 4,77:1.
O gerador de clamp() abre com uma fonte de 16 a 24 px entre telas de 320 e 1280 px e devolve clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem). Nenhuma cor nem medida sai do seu computador.
Outras ferramentas de frontend e interface
- Conversor de px para remConverta px em rem e rem em px com a base que você quiser, com tabela pronta das medidas mais usadas. Explica por que rem respeita o tamanho de fonte escolhido no navegador e o que muda entre em e rem.
- Teste de velocidadeMeça download, upload, ping, jitter e a latência com a rede cheia. Veja se a conexão aguenta chamada de vídeo, 4K e jogo online, e quanto do plano contratado chegou.
- Cronômetro onlineCronômetro online com centésimos e voltas: parcial, total, a volta mais rápida e a mais lenta, cópia para planilha e CSV, tela cheia e atalhos de teclado. Mede pelo relógio interno do navegador e não atrasa com a aba em segundo plano.
- Horário de BrasíliaRelógio com a hora certa de Brasília, sincronizado pelo servidor. Mostra quanto o relógio do seu celular ou computador está adiantado ou atrasado e a hora nos quatro fusos do Brasil.
- Meu IPVeja o seu endereço IP público, o país do acesso, a versão do TLS e do HTTP e o que a sua conexão revela, com o horário da consulta na tela. A leitura vem do próprio valorfinal.com.br, sem serviço de terceiro.
- Gerador de QR CodeGere QR Code grátis de link, WhatsApp, Pix, Wi-Fi, texto, e-mail, telefone, SMS e contato, escolha cor, margem e tamanho e baixe em PNG ou SVG. O código é estático: não expira e não passa por servidor.
Todas as ferramentas, por tarefa, estão em ferramentas de tecnologia online.
Gostou? Mostre pra todo mundo
Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.
Converta cores entre HEX, RGB e HSL, verifique o contraste de acessibilidade, gere CSS clamp() e converta unidades px, rem, em, vw e vh, tudo no navegador.
Como funciona a ferramenta
As conversões de cor usam as fórmulas padrão entre os espaços HEX, RGB e HSL. O contraste segue o cálculo de luminância relativa da WCAG. O clamp() é derivado de uma reta entre dois breakpoints, e a conversão de unidades usa a base de fonte informada e um viewport de referência.
O veredito de contraste sai da razão sem arredondar. O documento Understanding 1.4.3, do W3C, diz que o valor calculado não se arredonda antes de comparar com o piso, e que 4,499:1 não atinge 4,5:1. Quando o arredondamento em duas casas faria o número encostar no piso sem atingi-lo, a tela mostra três casas.
Para a conversão de px em rem com tabela pronta das medidas mais usadas e a explicação de por que rem respeita o tamanho de fonte do navegador, veja converter px para rem.
Para gerar imagens com cores definidas aqui, veja o gerador de QR Code; para formatar a folha de estilo, o formatador de código. A explicação de cada notação de cor, com a conta passo a passo, está no guia HEX, RGB e HSL no CSS.
Método
contraste = (L1 + 0,05) / (L2 + 0,05)
1rem = base font-size (px)
Referências: WCAG 2.2 do W3C, critérios 1.4.3 e 1.4.6 e o documento Understanding 1.4.3 (contraste), e CSS Values and Units (MDN). Cálculos locais no navegador.
Limitações
- O contraste considera apenas as duas cores informadas, sem opacidade ou sobreposição.
- vw e vh dependem do tamanho real da tela; aqui usa-se um viewport de referência.
- Cores fora dos formatos HEX, rgb() e hsl() não são reconhecidas.
- Passar na razão de contraste cobre só os critérios 1.4.3 e 1.4.6. Texto sobre imagem ou gradiente, foco e borda de campo têm critérios próprios.
Coloque esta ferramenta no seu site, de graça
Tem site, blog ou loja virtual? Esta ferramenta tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e ela roda no navegador de quem visita o seu site.
cores e contraste CSS para sitever todas as ferramentas para site
Calculadoras relacionadas
Guias sobre este tema
Ferramenta transparente, com o método explicado
Atualizado em . Fontes: WCAG 2.1 (contraste) / CSS Values and Units / MDN.
Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.
Referências técnicas
- CSS Values and Units Level 4, clamp()Técnica
- CSS Values and Units Level 4, calc()Técnica
- WCAG 2.2, luminância relativaTécnica
- WCAG 2.2, critério 1.4.3Técnica
- WCAG 2.2, critério 1.4.6Técnica
- W3C, Understanding WCAG 2.2 critério 1.4.3Técnica
Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.
Incorpore esta calculadora no seu site (grátis)
Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.
Perguntas frequentes
Quais ferramentas estão reunidas aqui?
São quatro abas. Cores HEX/RGB/HSL converte uma cor entre as três notações e aceita HEX de 3, 4, 6 ou 8 dígitos, rgb() e hsl(). Contraste WCAG calcula a razão entre a cor do texto e a do fundo e diz quais critérios de acessibilidade passam. CSS clamp() monta a expressão de tipografia fluida a partir de dois tamanhos e duas larguras de tela. Unidades px/rem/em converte uma medida para px, rem, em, vw e vh. A tabela pronta de px em rem fica numa página própria, o conversor de px para rem.
Como converter HEX para RGB?
Separe o HEX em três pares e converta cada par de hexadecimal para decimal. Em #2563eb, 25 vira 37, 63 vira 99 e eb vira 235, e o resultado é rgb(37, 99, 235). Cada par vai de 00 a ff, ou seja, de 0 a 255. O HEX curto de três dígitos repete cada dígito: #f80 é o mesmo que #ff8800. Na aba Cores basta colar o HEX: a página mostra o RGB e o HSL, hsl(221, 83%, 53%), cada um com botão de copiar.
Como funciona a verificação de contraste WCAG?
A ferramenta calcula a luminância relativa de cada cor pela fórmula da WCAG e divide a mais clara pela mais escura, depois de somar 0,05 às duas. A escala vai de 1:1, com duas cores iguais, a 21:1, preto sobre branco. O resultado é comparado com os pisos da WCAG 2.2: 4,5:1 para texto normal e 3:1 para texto grande no nível AA (critério 1.4.3), e 7:1 e 4,5:1 no nível AAA (critério 1.4.6). A comparação usa a razão sem arredondar, como pede o W3C.
Qual o cinza mais claro que passa no contraste sobre fundo branco?
Para texto normal no nível AA é o #767676, com 4,54:1. Um tom acima, o #777777, dá 4,48:1 e já reprova, embora na tela os dois pareçam iguais. No nível AAA, com piso de 7:1, o limite é o #595959. Para texto grande no AA, com piso de 3:1, dá para clarear até o #949494. Os três limites saem da mesma conta da ferramenta, aplicada aos 256 tons de cinza neutro.
Texto branco em botão vermelho passa no contraste?
Com o vermelho puro do CSS, não. Texto branco sobre #ff0000 dá 4,00:1, abaixo dos 4,5:1 que o nível AA pede para texto normal. O mesmo fundo com texto preto dá 5,25:1 e passa. O branco só vale ali para texto grande, de 18 pontos, ou 14 pontos em negrito, que o W3C converte para cerca de 24 px e 18,5 px. Um vermelho mais escuro resolve: o maroon do CSS (#800000) dá 10,95:1 com texto branco.
O que é o CSS clamp() e quando usar?
clamp(mínimo, preferido, máximo) devolve o valor preferido enquanto ele fica entre os dois limites. Quando o preferido mistura rem e vw, a fonte cresce com a largura da tela e para nos limites. A aba abre com uma fonte que vai de 16 px, numa tela de 320 px, a 24 px, numa de 1280 px, e devolve clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem). Numa tela de 768 px a fonte fica em cerca de 19,7 px. Serve para título e texto que precisam funcionar do celular ao monitor sem media query.
Os valores de vw e vh dependem da tela?
Sim. 1vw é 1% da largura da janela e 1vh é 1% da altura, então a mesma medida em px vira um vw diferente em cada tela. Para dar um número, a aba Unidades usa uma janela de referência de 1280 por 800 px, escrita ao lado do resultado: nela, 16 px são 1.25vw e 2vh. Já rem e em usam a base de fonte que você informar. No celular, a barra de endereço que aparece e some muda a altura visível, e foi para isso que o CSS criou as unidades svh, lvh e dvh.
Meus dados são enviados para servidor?
Não. As quatro conversões rodam em JavaScript no seu navegador, e nenhuma cor, medida ou expressão é transmitida ou gravada. Depois que a página carrega, as ferramentas continuam funcionando mesmo sem internet. Isso vale também para a paleta de um cliente que ainda não foi lançada: as cores que você testa aqui não saem do seu computador.
Posso copiar os resultados direto para o meu CSS?
Sim. Na aba Cores, cada linha (HEX, RGB e HSL) tem um botão Copiar, e o texto sai no formato que o CSS aceita, como rgb(37, 99, 235). No clamp(), o botão copia a declaração inteira, font-size: clamp(1rem, 0.8333rem + 0.8333vw, 1.5rem);, pronta para colar numa regra. Na aba Unidades os valores aparecem com até quatro casas decimais. Para a tabela das medidas mais usadas já convertidas em rem, na base que você escolher, use o conversor de px para rem.
O que significam Passa e Reprova nos quadros da aba Contraste?
Cada quadro é um critério da WCAG 2.2. AA texto normal (4.5:1) é o piso do critério 1.4.3 para texto comum; AA texto grande (3:1) vale para texto de 18 pontos, ou 14 pontos em negrito; os dois quadros AAA são os pisos do critério 1.4.6. Passa quer dizer que a razão calculada, sem arredondar, é igual ou maior que o piso. Reprova quer dizer que ficou abaixo, mesmo que por milésimos. Quando o arredondamento em duas casas faria o número encostar no piso, a tela mostra três: o cinza #959595 sobre branco aparece como 2.995:1, e não como 3.00:1.
O que são Viewport mín e Viewport máx no gerador de clamp()?
São as larguras de tela, em px, entre as quais o tamanho cresce. Com a tela na largura de Viewport mín, a fonte vale o Mín (px); na de Viewport máx, vale o Máx (px); entre as duas, cresce em linha reta. Fora desse intervalo o clamp() trava o valor. O campo Base rem (px) diz quanto vale 1rem na sua página, e a expressão sai dividida por ele. Se o Máx for menor que o Mín, a fonte encolhe quando a tela cresce, e a ferramenta ordena os limites para o clamp() continuar válido.
Por que aparece um aviso quando a cor tem transparência?
Porque uma cor com canal alfa, como rgba(0, 0, 0, 0.5) ou #00000080, não é a cor que aparece na tela: o navegador a mistura com o que estiver atrás. A razão de contraste só faz sentido com a cor final. A ferramenta lê o alfa, calcula com a cor cheia e avisa que fez isso, em vez de mostrar um número que ninguém enxerga. Para um resultado fiel, faça a mistura antes: com 50% de preto sobre branco, por exemplo, a cor que aparece é um cinza médio, e é esse cinza, sem canal alfa, que vai no campo.