Menu

Comprobador de contraste WCAG

Comprueba el contraste WCAG y arregla combinaciones que no pasan con un clic.

Última actualización

Predefinidos
Primer plano
Fondo
Ratio de contraste14.05:1
Texto normal
AAAAA
Texto grande
AAAAA
Componentes UI
AA
Vista previa

Titular grande — 24px negrita

Texto de cuerpo. El veloz murciélago hindú comía feliz cardillo y kiwi. Lee un par de párrafos y comprueba si el contraste resulta cómodo en sesiones largas.

Pie de página pequeño — 12px normal. WCAG solo protege a partir de 14pt en este tamaño, así que el texto diminuto necesita el contraste más estricto.

Enlace en línea →

¿Qué es un comprobador de contraste de color WCAG?

Un *comprobador de contraste* es lo que diseñadores y desarrolladores usan antes de publicar una pantalla. Calcula la **relación de contraste** entre dos colores —tu texto y el fondo que tiene detrás— usando la fórmula definida en las Pautas de Accesibilidad para el Contenido Web (WCAG). Cuanto mayor sea el ratio, más fácil de leer.

WCAG define tres umbrales. **3:1** es el mínimo para titulares grandes (24px+ normal o 18,66px+ negrita) y para el borde visible de componentes interactivos como botones, formularios e iconos. **4,5:1** es el mínimo AA para texto de cuerpo —el listón habitual—. **7:1** es AAA, el nivel más alto y muy útil para personas con baja visión.

Contraste **no** es lo mismo que cuán vivos parecen dos colores. Dos colores de marca muy intensos pueden seguir siendo difíciles de leer si su *luminancia* es parecida. Esta herramienta aplica la fórmula WCAG, te muestra el ratio exacto y califica cada contexto, así no tienes que adivinar.

Lo que aprenderás revisando contraste

  • Las relaciones de contraste van de 1:1 (colores idénticos) a 21:1 (negro puro sobre blanco puro). Los pares de marca habituales caen entre 2:1 y 12:1.
  • WCAG usa *luminancia relativa*, no brillo percibido — el amarillo sobre blanco puede parecer correcto y aun así fallar con 1,3:1.
  • El texto grande tiene un umbral más laxo (3:1 para AA) porque las letras grandes se distinguen mejor con menos contraste.

Cómo comprobar el contraste paso a paso

  1. Introduce tus dos colores

    Escribe o pega un valor HEX, o usa el selector de color. El primer plano es el texto o icono; el fondo es lo que queda detrás.

  2. Lee el ratio de contraste

    El número grande de la izquierda es el ratio WCAG. Por debajo de 3:1 es arriesgado para cualquier UI; por debajo de 4,5:1 falla para texto de cuerpo.

  3. Revisa los grados AA/AAA

    Tres filas muestran pass/fail para texto normal (4,5/7), texto grande (3/4,5) y componentes de UI (3:1). Busca el check verde en cada fila que aplique a tu diseño.

  4. Pulsa "Ajustar primer plano" si falla

    Cuando AA falla, la herramienta empuja la luminosidad del primer plano —respetando el tono— hasta que el par pasa. Pulsa otra vez para llegar a AAA.

  5. Copia el par final

    Cuando ambos colores pasen los contextos que necesitas, copia el snippet CSS (color: + background:) y pégalo en tu hoja de estilos o en tus design tokens.

Objetivos WCAG de un vistazo

Cruza qué estás estilando con el nivel que necesitas. Fuente: WCAG 2.2 Understanding 1.4.3 y 1.4.11.

ObjetivoMínimo AAMínimo AAANotas
Texto de cuerpo (< 18pt normal)4.5 : 17 : 1Regla por defecto para párrafos, etiquetas, leyendas
Texto grande (≥ 18pt normal o ≥ 14pt negrita)3 : 14.5 : 1Titulares, copys hero, citas grandes
Componentes de UI y objetos gráficos3 : 1Bordes de botones, formularios, iconos, focus rings
Logo o decoración puraExentoExentoLogotipos y texto incidental están exentos — pero la usabilidad sigue importando
Estado deshabilitadoExentoExentoControles inactivos están exentos, pero no te apoyes en esto para enviar valores por defecto bajos

Ejemplos de contraste para probar

Un par oscuro-sobre-claro que pasa

Texto de cuerpo, cómodo AA + AAA
color: #1f2937;       /* slate-800 */background: #f9fafb;  /* slate-50  *//* Contrast ratio ≈ 14.6:1 */

Clásico slate oscuro sobre casi-blanco. Pasa AAA para texto de cuerpo (≥ 7:1) con margen. La mayoría de UI de producto deberían apuntar a esta zona por defecto.

Azul de marca que *justo* falla AA

Parece potente, falla la matemática
color: #3b82f6;       /* blue-500 */background: #ffffff;/* Contrast ratio ≈ 4.0:1 */

Los azules vivos sobre blanco aterrizan a menudo cerca de 4:1 — legible para titulares grandes (pasa 3:1 AA Large) pero falla el listón 4,5:1 para texto de cuerpo. Úsalo para botones y CTAs a 18px+, no para párrafos.

Amarillo que parece bien y no lo es

El ojo miente — la luminancia no
color: #facc15;       /* amber-400 */background: #ffffff;/* Contrast ratio ≈ 1.6:1 */

Amarillo brillante contra blanco es la trampa famosa: los colores se ven fuertes pero su luminancia está demasiado cerca. Reserva esta combinación para fondos oscuros (#facc15 sobre #1f2937 da ≈ 12:1).

Errores frecuentes de contraste

  • Fiarte del ojo en vez del ratio. Colores intensos y saturados pueden parecer "potentes" y seguir fallando la matemática WCAG.
  • Olvidar que los pesos finos *reducen* el contraste efectivo — se leen como menos tinta por píxel. Sube el ratio en pesos hairline.
  • Comprobar solo contra blanco puro. Los fondos reales son crudos, en gradiente o fotográficos — vuelve a medir contra el color real donde aparece tu texto.

Preguntas frecuentes — Contraste WCAG

¿Cuál es una buena relación de contraste?
Apunta al menos a 4,5:1 para texto de cuerpo y 3:1 para titulares grandes o UI interactiva. 7:1 es el objetivo AAA — estricto pero merece la pena en flujos críticos de lectura como documentación, instrucciones y mensajes de error.
¿Cuál es la diferencia entre AA y AAA?
AA es la línea base legal de accesibilidad que exigen la mayoría de regulaciones (WCAG 2.1/2.2 AA). AAA es el objetivo más estricto para organizaciones que quieren dar soporte sólido a personas con baja visión. AAA no es obligatorio, pero en texto de cuerpo es una meta razonable.
¿Qué cuenta como "texto grande" en WCAG?
WCAG define texto grande como 18pt o más (≈ 24px) en peso normal, o 14pt o más (≈ 18,66px) en negrita. El texto grande solo necesita 3:1 para AA; el más pequeño necesita 4,5:1.
¿Por qué mi color de marca falla el contraste?
Los tonos vivos en luminosidad media —sobre todo azules, amarillos y rojos a ≈ 50% de luminosidad— suelen aterrizar justo por debajo de 4,5:1 sobre blanco. Lo habitual es oscurecer el primer plano (o usarlo como fondo con texto blanco). Pulsa "Ajustar primer plano" para encontrar el tono más cercano que pase.
¿Los controles deshabilitados deben pasar WCAG?
No — los controles deshabilitados y la decoración pura están explícitamente exentos. Pero "exento" no es lo mismo que "buena UX". Si la gente no puede distinguir un botón deshabilitado del fondo, no sabe que existe.

Más información

Otras herramientas para desarrolladores

Coddy programming languages illustration

Aprende a programar con Coddy

COMENZAR