Menu

Verificador de Contraste WCAG

Verifique o contraste WCAG e ajuste combinações reprovadas com um clique.

Última atualização

Predefinições
Frente
Fundo
Relação de contraste14.05:1
Texto normal
AAAAA
Texto grande
AAAAA
Componentes UI
AA
Pré-visualização

Título grande — 24px negrito

Texto de corpo. A rápida raposa marrom pula sobre o cão preguiçoso. Leia um parágrafo ou dois para ver se o contraste está confortável em sessões longas.

Legenda pequena — 12px regular. WCAG só protege 14pt e acima nesse tamanho, então textos minúsculos precisam do contraste mais rigoroso.

Link inline →

O que é um verificador de contraste WCAG?

Um *verificador de contraste* é o que designers e devs usam antes de publicar uma tela. Ele calcula a **relação de contraste** entre duas cores — seu texto e o fundo atrás dele — usando a fórmula das Diretrizes de Acessibilidade para Conteúdo Web (WCAG). Quanto maior o número, mais fácil de ler.

O WCAG define três limites. **3:1** é o mínimo para títulos grandes (24px+ regular ou 18,66px+ negrito) e para a borda visível de componentes interativos como botões, campos e ícones. **4,5:1** é o mínimo AA para texto corrido — a meta que a maioria dos times persegue. **7:1** é AAA, o nível mais alto, ótimo para pessoas com baixa visão.

Contraste **não** é o mesmo que vivacidade. Duas cores de marca podem parecer fortes e ainda ser difíceis de ler se a *luminância* delas for próxima. Esta ferramenta aplica a fórmula WCAG canal a canal, mostra o número exato e classifica cada contexto, então você não precisa chutar.

O que você aprende verificando contraste

  • Relações de contraste vão de 1:1 (cores iguais) a 21:1 (preto puro sobre branco puro). Pares de marca normalmente ficam entre 2:1 e 12:1.
  • WCAG usa *luminância relativa*, não brilho percebido — amarelo sobre branco pode parecer bom para o olho e falhar em 1,3:1.
  • Texto grande tem um limite mais leve (3:1 para AA) porque glifos maiores são mais fáceis de resolver no mesmo contraste.

Como verificar o contraste passo a passo

  1. Insira suas duas cores

    Digite ou cole um HEX, ou use o seletor de cor. A cor da frente é o seu texto ou ícone; o fundo é o que está atrás.

  2. Leia a relação de contraste

    O número grande à esquerda é a relação WCAG. Abaixo de 3:1 é arriscado para qualquer UI; abaixo de 4,5:1 reprova para texto corrido.

  3. Olhe as notas AA/AAA

    Três linhas mostram aprovação/reprovação para texto normal (4,5/7), texto grande (3/4,5) e componentes de UI (3:1). Mire o check verde em cada linha relevante.

  4. Clique em "Ajustar frente" se reprovar

    Quando AA falha, a ferramenta empurra a luminosidade da cor da frente — mantendo o matiz — até o par passar. Clique de novo para chegar em AAA.

  5. Copie o par final

    Quando as duas cores passarem nos contextos que importam, copie o snippet CSS (color: + background:) e cole no seu CSS ou nos seus design tokens.

Metas WCAG num relance

Cruze o que você está estilizando com o nível que precisa. Fonte: WCAG 2.2 Understanding 1.4.3 e 1.4.11.

AlvoMínimo AAMínimo AAANotas
Texto corrido (< 18pt regular)4.5 : 17 : 1Regra padrão para parágrafos, labels e legendas
Texto grande (≥ 18pt regular ou ≥ 14pt negrito)3 : 14.5 : 1Títulos, copy de hero, citações grandes
Componentes de UI e objetos gráficos3 : 1Bordas de botões, campos, ícones, focus rings
Logo ou decoração puraIsentoIsentoLogotipos e texto incidental são isentos — mas usabilidade ainda importa
Estado desabilitadoIsentoIsentoControles inativos são isentos, mas não use isso de desculpa para defaults ruins

Exemplos de contraste para testar

Par escuro-sobre-claro que passa

Corpo de texto, AA + AAA confortável
color: #1f2937;       /* slate-800 */background: #f9fafb;  /* slate-50  *//* Contrast ratio ≈ 14.6:1 */

Slate escuro clássico sobre quase-branco. Passa AAA para corpo (≥ 7:1) com folga. A maioria das UIs de produto deveria mirar essa região por padrão.

Azul de marca que *quase* passa AA

Parece ousado, falha na matemática
color: #3b82f6;       /* blue-500 */background: #ffffff;/* Contrast ratio ≈ 4.0:1 */

Azuis vivos sobre branco frequentemente ficam por 4:1 — legíveis para títulos grandes (passa 3:1 AA Large) mas falham nos 4,5:1 para corpo. Use em botões e CTAs a partir de 18px, não em parágrafos.

Amarelo que parece ok e não é

Olho mente — luminância não
color: #facc15;       /* amber-400 */background: #ffffff;/* Contrast ratio ≈ 1.6:1 */

Amarelo brilhante contra branco é a armadilha famosa: parece forte mas a luminância está perto demais. Reserve esse par para fundos escuros (#facc15 sobre #1f2937 dá ≈ 12:1).

Erros comuns de contraste

  • Confiar no olho em vez do número. Cores vivas e saturadas podem parecer "ousadas" e ainda falhar a matemática WCAG.
  • Esquecer que pesos finos *reduzem* o contraste efetivo — eles soam como menos tinta por pixel. Suba o ratio para pesos hairline.
  • Verificar só contra branco puro. Fundos reais são off-white, gradientes ou fotográficos — refaça a conta contra a cor que de fato está atrás do texto.

Perguntas frequentes — Contraste WCAG

Qual é uma boa relação de contraste?
Mire pelo menos 4,5:1 para texto corrido e 3:1 para títulos grandes ou UI. 7:1 é a meta AAA — rígida mas vale a pena em fluxos críticos como documentação, instruções e mensagens de erro.
Qual a diferença entre AA e AAA?
AA é a base legal exigida pela maioria das regulações (WCAG 2.1/2.2 AA). AAA é a meta mais rígida para organizações que querem dar suporte forte a usuários com baixa visão. Não é obrigatório, mas em corpo de texto é uma meta razoável.
O que conta como "texto grande" no WCAG?
WCAG define texto grande como 18pt ou maior (≈ 24px) em peso regular, ou 14pt ou maior (≈ 18,66px) em negrito. Texto grande precisa só de 3:1 para AA; texto menor precisa de 4,5:1.
Por que minha cor de marca falha o contraste?
Tons médios saturados — especialmente azuis, amarelos e vermelhos perto de 50% de luminosidade — costumam ficar por baixo de 4,5:1 contra branco. A solução é geralmente escurecer a cor da frente (ou usá-la como fundo com texto branco). Clique em "Ajustar frente" para encontrar o tom mais próximo que passa.
Controles desabilitados precisam passar WCAG?
Não — controles desabilitados e decoração pura são explicitamente isentos. Mas "isento" não é o mesmo que "boa UX". Se o usuário não distingue um botão desabilitado do fundo, ele não sabe que ele existe.

Saiba mais

Outras ferramentas para desenvolvedores

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR