Cómo elegir la paleta de colores de una web

Para elegir la paleta de colores de una web, parte de la identidad de la marca (o de una imagen de referencia), define un color primario, uno secundario y uno de acento, crea una escala de neutros y los colores de estado, reparte todo con la regla 60-30-10 y solo entonces revisa el contraste, el daltonismo y el modo oscuro. El resultado final no es una lista de cinco HEX bonitos, sino un pequeño sistema de tokens que cubre fondos, textos, bordes, botones y mensajes.

Esta guía paso a paso sigue un ejemplo concreto de principio a fin: la web de una empresa con el azul como color principal. Puedes sustituir los valores por los de tu marca y seguir los mismos pasos.

1. Parte de la marca o de una imagen

Si la marca ya tiene un manual de identidad, usa los colores oficiales como punto de partida y anota los códigos exactos. Si todavía no existe o solo tienes un logotipo, elige una referencia visual que represente el tono que buscas: una foto del producto, del espacio, un moodboard.

En esta etapa piensa también en la personalidad de la marca. La guía de psicología del color explica por qué la adecuación a la marca y al público pesa más que las listas de significados.

2. Define el primario, el secundario y el acento

Tres funciones bastan para la mayoría de las webs:

FunciónEjemploDónde usarlo
Primario #1D4ED8Enlaces, botones principales, cabeceras de sección, elementos de marca
Secundario #0F766EZonas de apoyo, iconos, sellos, variación visual entre secciones
Acento #F97316Una única acción muy importante, insignias, avisos puntuales

El primario de este ejemplo tiene una relación de contraste de 6,7:1 con el blanco, así que funciona como color de enlace y como fondo de botón con texto blanco. El secundario, un verde azulado oscuro, llega a 5,47:1. El naranja de acento, en cambio, solo alcanza 2,8:1 con el blanco: sirve como fondo de botón con texto oscuro (#0F172A sobre #F97316 da unos 6,4:1), pero no como color de texto sobre fondo claro.

El acento debe ser escaso. Si aparece por todas partes, deja de llamar la atención.

3. Crea los neutros y los colores semánticos

La mayor parte de lo que ve un visitante en una web son neutros: fondo, texto, bordes, separadores. En lugar de grises puros, usa grises ligeramente teñidos con el tono del primario. Resultan más armónicos y menos apagados. Una escala de grises azulados de ejemplo:

Los colores semánticos comunican estados y deben ser coherentes en toda la web:

EstadoTono para texto e icono (fondo claro)Contraste con blanco
Éxito #15803D5,02:1
Error #B91C1C6,47:1
Advertencia #B453095,02:1
Información #0369A15,93:1

Observa que los tonos más vivos y populares, como un verde #16A34A (3,3:1) o un ámbar #D97706 (3,19:1), no alcanzan 4,5:1 con el blanco. Pueden usarse en iconos grandes o fondos, pero el texto necesita el tono más oscuro.

Fondos suaves para mensajes

Las alertas y los mensajes de formulario suelen combinar un fondo muy claro con texto e icono en el tono oscuro del mismo estado. Para información, por ejemplo, un fondo #EFF6FF con texto #1D4ED8 funciona bien. Define estos pares una vez para cada estado y reutilízalos en toda la web: así, una alerta de error se verá igual en el proceso de pago o en la página de contacto.

4. Aplica la regla 60-30-10 y crea escalas

La regla 60-30-10, heredada del diseño de interiores, es un punto de partida para repartir el peso visual:

No es una medida exacta en píxeles, sino un recordatorio de jerarquía: pocos colores fuertes y mucho espacio neutro.

En el ejemplo, esto se traduce en un fondo #F8FAFC y tarjetas blancas ocupando la mayor parte de la pantalla, el azul #1D4ED8 en la cabecera, los enlaces y los botones principales, y el naranja #F97316 solo en el botón “Solicitar presupuesto”. En un panel de administración con mucha información, la proporción de neutros puede ser aún mayor; en una landing de campaña, el color de marca puede ocupar más espacio.

Escalas del 50 al 900

Cada color de marca necesita variaciones para hover, fondos suaves, bordes y modo oscuro. La convención más usada es una escala del 50 (casi blanco) al 900 (muy oscuro). Para el primario del ejemplo:

50 #EFF6FF · 100 #DBEAFE · 200 #BFDBFE · 300 #93C5FD · 400 #60A5FA · 500 #3B82F6 · 600 #2563EB · 700 #1D4ED8 · 800 #1E40AF · 900 #1E3A8A

Puedes generar los tonos claros mezclando el color base con blanco y los oscuros mezclándolo con negro (o con un azul muy oscuro, para conservar la saturación) en el mezclador de colores. Después ajústalos a mano: los pasos deben parecer visualmente regulares, no ser matemáticamente idénticos.

5. Planifica el modo oscuro

El modo oscuro no consiste en invertir los colores. Una inversión directa convierte el texto #0F172A en un blanco casi puro sobre negro, lo que deslumbra, y deja los colores de la marca demasiado saturados sobre el fondo oscuro.

6. Revisa el contraste y el daltonismo

Con la paleta en borrador, prueba cada combinación real de texto y fondo, no solo los colores por separado. WCAG pide 4,5:1 para texto normal, 3:1 para texto grande y 3:1 para bordes de campos, iconos y otros componentes de la interfaz. Mide cada par con el comprobador de contraste.

Después, simula cómo ven la interfaz las personas con daltonismo en el simulador de daltonismo. Pares como el verde de éxito y el rojo de error pueden verse casi iguales con deuteranopía y protanopía, así que acompaña el color con iconos, textos o patrones. Los enlaces dentro del texto merecen el mismo cuidado: si lo único que los distingue del texto que los rodea es el color, mantén el subrayado. La guía de contraste de color y accesibilidad detalla los criterios.

7. Convierte la paleta en tokens CSS

Separa dos niveles: los tokens primitivos, que guardan los valores de la escala, y los tokens semánticos, que indican para qué sirve cada color. Los componentes usan solo los semánticos; así, cambiar de tema es modificar unas pocas líneas.

:root {
  /* primitivos */
  --blue-400: #60A5FA;
  --blue-700: #1D4ED8;
  --slate-50: #F8FAFC;
  --slate-200: #E2E8F0;
  --slate-500: #64748B;
  --slate-800: #1E293B;
  --slate-900: #0F172A;
  --orange-500: #F97316;

  /* semánticos */
  --color-bg: var(--slate-50);
  --color-surface: #FFFFFF;
  --color-text: var(--slate-900);
  --color-text-muted: var(--slate-500);
  --color-primary: var(--blue-700);
  --color-accent: var(--orange-500);
  --color-success: #15803D;
  --color-danger: #B91C1C;
}

.button-primary { background: var(--color-primary); color: #FFFFFF; }

Para el modo oscuro, la función light-dark() define los dos valores en el mismo token. Requiere la propiedad color-scheme:

:root {
  color-scheme: light dark;
  --color-bg: light-dark(#F8FAFC, #0F172A);
  --color-surface: light-dark(#FFFFFF, #1E293B);
  --color-text: light-dark(#0F172A, #E2E8F0);
  --color-primary: light-dark(#1D4ED8, #60A5FA);
}

Si necesitas dar soporte a navegadores más antiguos, la alternativa clásica es la media query:

@media (prefers-color-scheme: dark) {
  :root {
    --color-bg: #0F172A;
    --color-surface: #1E293B;
    --color-text: #E2E8F0;
    --color-primary: #60A5FA;
  }
}

Errores comunes

Próximos pasos

Revisa tu paleta en este orden: marca y referencia, funciones de los colores, neutros y estados, reparto 60-30-10 y escalas, modo oscuro, contraste y daltonismo, tokens. Para ponerlo en práctica: