Saltar al contenido
nearnull

Matriz de Contraste de Paleta

Verificá todas las combinaciones de texto y fondo de una paleta a la vez, con ratios de contraste y resultados WCAG AA y AAA. Funciona enteramente en tu navegador: no se envía nada a ningún servidor.

Un color por línea, en cualquier formato. Hasta 10 colores; los duplicados se unifican.

8 de 20 pares cumplen AA
Fondo → Texto ↓
#111827
#ffffff
#2563eb
#f59e0b
#e5e7eb
#111827
Aa 17.73:1 AAA
Aa 3.43:1 AA grande
Aa 8.26:1 AAA
Aa 14.32:1 AAA
#ffffff
Aa 17.73:1 AAA
Aa 5.16:1 AA
Aa 2.14:1 No cumple
Aa 1.23:1 No cumple
#2563eb
Aa 3.43:1 AA grande
Aa 5.16:1 AA
Aa 2.4:1 No cumple
Aa 4.17:1 AA grande
#f59e0b
Aa 8.26:1 AAA
Aa 2.14:1 No cumple
Aa 2.4:1 No cumple
Aa 1.73:1 No cumple
#e5e7eb
Aa 14.32:1 AAA
Aa 1.23:1 No cumple
Aa 4.17:1 AA grande
Aa 1.73:1 No cumple

AAA: 7:1 o más. AA: 4.5:1 o más. AA grande: 3:1 o más, alcanza solo para texto grande (24px, o 18.7px en negrita) y componentes de interfaz.

¿Qué es una matriz de contraste?

Una matriz de contraste compara cada color de una paleta con todos los demás, como texto y como fondo, para que veas de un vistazo qué combinaciones se leen bien. Cada celda muestra una muestra con ese color de texto sobre ese fondo, su ratio de contraste WCAG 2.x y el nivel que alcanza: AAA desde 7:1, AA desde 4.5:1, y AA para texto grande y componentes de interfaz desde 3:1. En vez de verificar pares de a uno, pegás la paleta entera y tenés el panorama completo, que es como los design systems documentan qué colores se pueden combinar.

Ejemplos

Verificar todos los pares de una paleta en código:

JavaScript
// every ordered pair, skipping a color on itself
for (const text of palette)
  for (const bg of palette)
    if (text !== bg) console.log(text, bg, contrast(text, bg));
Python
from itertools import permutations

for text, bg in permutations(palette, 2):
    print(text, bg, round(contrast(text, bg), 2))
CSS
/* a passing pair from the matrix, as tokens */
:root {
  --text-on-surface: #111827;
  --surface: #e5e7eb;
}

Casos de uso

Documentar un design system

Publicá qué colores de texto y fondo se pueden combinar, así nadie tiene que volver a verificar el contraste en cada pantalla nueva.

Auditar una paleta de marca

Pegá los colores de marca y averiguá en el momento cuáles pueden llevar texto de cuerpo y cuáles son solo decorativos.

Elegir colores de botones y badges

Compará rellenos candidatos con texto blanco y oscuro en una sola vista para quedarte con los que funcionan con los dos.

Gráficos y etiquetas de datos

Verificá qué color de etiqueta se sigue leyendo sobre cada color de serie antes de poner valores dentro de barras o porciones.

Preguntas frecuentes

¿Por qué cada par aparece dos veces?
El ratio es el mismo en los dos sentidos, pero texto y fondo son roles distintos. Texto azul sobre blanco y texto blanco sobre azul tienen el mismo ratio, pero quizás quieras solo uno de los dos en tu diseño, así que la matriz muestra ambos.
¿Por qué las celdas de la diagonal están vacías?
Serían cada color sobre sí mismo, que siempre tiene un ratio de 1:1 y nunca es una combinación real.
¿Qué significa AA grande?
Un ratio entre 3:1 y 4.5:1 cumple WCAG AA solo para texto grande (al menos 24 píxeles CSS, o unos 18.7 en negrita) y para íconos, bordes y otros componentes de interfaz. El texto de cuerpo necesita 4.5:1.
¿Cómo se manejan los colores transparentes?
El alpha se ignora y cada color se trata como opaco, porque una entrada de la paleta no dice qué tendría detrás. Para verificar un color translúcido sobre un fondo real, aplanalo primero con el Conversor de Opacidad HEX.
¿Mis datos se envían a algún servidor?
No. Cada ratio se calcula en tu navegador con JavaScript plano. Nada de lo que ingresás se transmite ni se guarda.