Mezcle dos colores con exclusión y obtenga el valor hexadecimal
El mezclador de colores por exclusión combina dos valores hexadecimales mediante este modo de fusión y devuelve el color resultante exacto como hexadecimal normalizado, canales RGB numéricos y una cadena RGB de CSS lista para copiar.
Ejecutar — gratis
La exclusión ofrece una variante más suave y de menor contraste que el modo diferencia: los colores claros suelen invertir el otro valor, los oscuros producen menos cambios y los medios tonos idénticos pueden acercarse al gris. Los dos datos se validan antes del cálculo, por lo que un color ausente, incorrecto o no compatible genera un error claro en vez de un resultado ambiguo.
Qué produce el modo de fusión exclusión
La exclusión compara los dos colores canal por canal, pero no calcula una simple media. Para cada canal rojo, verde y azul, la calculadora normaliza ambos valores, aplica la relación de exclusión y vuelve a convertir el resultado en un canal de ocho bits. El negro no modifica el otro color, mientras que el blanco lo invierte. Los valores intermedios crean un contraste más moderado que el habitual en el modo diferencia. Por eso, la exclusión resulta útil cuando usted necesita una interacción visible entre colores sin bordes agresivos ni una separación tonal extrema. La operación es simétrica: si intercambia el primer color y el segundo, obtiene exactamente el mismo resultado. La herramienta muestra las versiones normalizadas de ambas entradas junto con la salida para que pueda comprobar qué se calculó. También identifica el modo de fusión, algo práctico al guardar el resultado con otras transformaciones o compararlo dentro de un flujo de diseño automatizado. El canal alfa queda fuera deliberadamente: cada entrada representa un color RGB opaco y el resultado sigue siendo predecible y portátil.
Cómo se validan y calculan las entradas hexadecimales
Introduzca cada color con tres o seis dígitos hexadecimales. El signo # inicial es opcional y se admiten letras mayúsculas o minúsculas. La notación abreviada se expande antes de calcular; por ejemplo, #369 se convierte en #336699. No se aceptan nombres de colores CSS, canales alfa, sintaxis funcional rgb(), comentarios alrededor del valor ni cadenas parcialmente válidas. Estas reglas estrictas impiden que un error tipográfico se interprete silenciosamente como otro color. Después de validar, cada canal usa la ecuación estándar de exclusión: se suman ambos valores y se resta dos veces su producto dividido por 255. El resultado se redondea al canal entero más próximo para expresarlo como RGB convencional de ocho bits y hexadecimal de seis dígitos. El orden del cálculo no depende del idioma, la configuración del equipo, la hora, valores aleatorios ni servicios externos. Las mismas entradas devuelven siempre los mismos campos y valores JSON. Como ambos colores son obligatorios, cualquier ausencia se comunica antes de generar una salida e incluye el nombre del campo afectado.
Cómo utilizar el resultado en diseño y desarrollo
Use el valor hexadecimal devuelto donde se admita un color CSS opaco, o copie la cadena RGB en una hoja de estilos, un token de diseño, una operación de canvas o un caso de prueba. El objeto RGB numérico permite inspeccionar canales desde código sin volver a analizar una cadena. La fusión por exclusión sirve para previsualizar acentos superpuestos de una interfaz, carteles, capas fotográficas, arte generativo y estados al pasar el puntero cuando se busca un efecto diferencia de menor contraste. También aporta una referencia determinista para comprobar si dos motores gráficos coinciden en sus cálculos. Tenga presente que la calculadora solo combina valores de color: no compone transparencias, no considera el fondo de un elemento, no convierte perfiles de color ni reproduce todos los detalles de una aplicación gráfica concreta. Para comparar con sentido, use la salida en el mismo flujo RGB que sus colores originales. Puede experimentar rápidamente en el navegador; una solicitud por API cuesta $0.002 cuando el cálculo forma parte de un proceso repetible. Al no depender de la red, también encaja en compilaciones y pruebas que exigen resultados estables.
Qué puede hacer con ella
Previsualizar un contraste más suave
Calcule el color opaco que crean dos valores de paleta al interactuar mediante exclusión antes de aplicar el efecto a un diseño.
Crear tokens de diseño deterministas
Genere un color hexadecimal derivado y estable para un tema, un estado de componente, un sistema de ilustración o una variable CSS reutilizable.
Verificar cálculos de fusión
Compare un motor gráfico o un proceso de renderizado con un resultado RGB de exclusión explícito que incluya entradas normalizadas y canales.
Preguntas frecuentes
¿Cuánto cuesta un cálculo por API?
Cada solicitud por API cuesta $0.002. La herramienta del navegador se puede utilizar directamente en esta página.
¿La exclusión equivale al modo diferencia?
No. Ambos comparan canales, pero la exclusión suele producir un efecto más suave y con menos contraste que diferencia.
¿Qué formatos de color se admiten?
Use tres o seis dígitos hexadecimales con un signo # inicial opcional, como #369, 336699 o A0B1C2.
¿Importa el orden de los dos colores?
No. La ecuación de exclusión es simétrica, así que intercambiar las entradas genera el mismo color fusionado.
¿Se admiten colores transparentes?
No. Las entradas son colores RGB opacos; se rechazan los valores hexadecimales de cuatro u ocho dígitos que incluyen alfa.
¿Por qué un editor gráfico puede mostrar una pequeña diferencia?
Los perfiles de color, los flujos de luz lineal, la transparencia, el fondo de composición y el redondeo específico de cada aplicación pueden cambiar la apariencia. Esta capacidad aplica matemáticas RGB deterministas de ocho bits.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/color/exclusion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color1":"#336699","color2":"#CC8844"}'const res = await fetch("https://api.kit.forhosting.com/color/exclusion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color1": "#336699",
"color2": "#CC8844"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/exclusion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color1": "#336699",
"color2": "#CC8844"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/exclusion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color1":"#336699","color2":"#CC8844"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color1":"#336699","color2":"#CC8844"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/exclusion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"color1": "#336699",
"color2": "#CC8844"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.exclusion",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |