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.
Regla por defecto para párrafos, etiquetas, leyendas
Texto grande (≥ 18pt normal o ≥ 14pt negrita)
3 : 1
4.5 : 1
Titulares, copys hero, citas grandes
Componentes de UI y objetos gráficos
3 : 1
—
Bordes de botones, formularios, iconos, focus rings
Logo o decoración pura
Exento
Exento
Logotipos y texto incidental están exentos — pero la usabilidad sigue importando
Estado deshabilitado
Exento
Exento
Controles 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.