Genere tintes de color
Genere una paleta de tintes fiable a partir de un solo color base, sin adivinar valores intermedios ni ajustar controles visualmente.
Ejecutar — gratis
Esta herramienta mezcla el color hexadecimal indicado con blanco en incrementos porcentuales iguales y devuelve valores HEX y RGB precisos para cada tinte. El cálculo es determinista: el mismo color y número de pasos siempre producen la misma paleta. Úsela para preparar estados de interfaz, fondos, gráficos, ilustraciones o tokens de diseño que necesiten una progresión clara desde el color original hasta el blanco.
Elija un color base y una cantidad útil de pasos
Comience con un color base hexadecimal de tres o seis dígitos, como #36c o #3366cc. La forma corta se expande antes del cálculo, por lo que ambos ejemplos representan exactamente el mismo color y producen resultados idénticos. Después, elija entre uno y veinte pasos. La cantidad indica el número de tintes generados, sin incluir el color base original e incluyendo el blanco puro como resultado final. Cuatro pasos mezclan, por tanto, el color base con blanco al 25%, 50%, 75% y 100%. Una cantidad pequeña funciona bien para una jerarquía compacta de interfaz, mientras que una mayor ofrece opciones más precisas para visualización de datos, ilustración o exploración de tokens. El resultado informa por separado la base normalizada y cada tinte generado, para distinguir claramente el valor proporcionado de los valores calculados. Como la progresión siempre termina en blanco, las muestras adyacentes presentan cambios iguales en el porcentaje de mezcla, aunque sus diferencias visibles varíen según el color base y la pantalla.
Comprenda la fórmula de mezcla determinista
Cada canal rojo, verde y azul se mezcla de forma independiente hacia 255, el valor de canal del blanco. Para el tinte número k de una paleta de n pasos, la herramienta calcula base + (255 − base) × k/n y redondea el canal al entero más cercano. Aplicar la misma proporción a los tres canales conserva la relación con el color original mientras reduce progresivamente su distancia al blanco. La respuesta incluye un índice desde uno, el porcentaje exacto de mezcla con blanco, el valor HEX normalizado en minúsculas, los números de cada canal y una cadena RGB. Se trata de interpolación sRGB directa; no modifica la luminosidad HSL, no realiza mezcla óptica con corrección gamma ni intenta igualación perceptual. Esta diferencia importa al comparar el resultado con programas gráficos que ofrecen varios espacios de mezcla. La fórmula es deliberadamente sencilla, documentada y estable, por lo que resulta adecuada para scripts de compilación, instantáneas, generación automática de tokens y sistemas donde la repetibilidad importa más que el ajuste visual subjetivo.
Aplique la paleta con seguridad en un sistema de diseño
Considere los valores generados como una escala inicial coherente y pruébelos después en su contexto real. Los tintes claros sirven para filas seleccionadas, fondos de avisos, bordes sutiles, rellenos de gráficos, superficies al pasar el cursor y zonas decorativas, pero una paleta matemáticamente regular no garantiza por sí sola un contraste accesible. Compruebe el texto y los iconos de primer plano sobre cada tinte elegido conforme a los requisitos de contraste aplicables a su producto. Conserve el color base como token separado y nombre los valores generados según su función o porcentaje de mezcla, como brand-tint-25 o info-background, en lugar de depender solo de la posición en la lista. Los nombres porcentuales siguen siendo comprensibles si otra paleta utiliza una cantidad diferente de pasos. En flujos automatizados, guarde directamente los valores HEX devueltos y conserve junto a ellos el color de entrada y el número de pasos para poder reproducir la paleta. Los colores no válidos, formatos hexadecimales con alfa, cantidades fraccionarias y valores fuera del intervalo permitido se rechazan, evitando que cambios accidentales de tokens pasen inadvertidos.
Qué puede hacer con ella
Cree tokens para superficies de interfaz
Obtenga fondos claros, bordes y estados seleccionados repetibles desde un único color de marca o semántico establecido.
Prepare variantes de color para gráficos
Genere rellenos claros previsibles que conserven una relación visible con el color principal de la serie.
Automatice la documentación de paletas
Produzca valores HEX y RGB estables para páginas de sistemas de diseño, generación de código, pruebas y archivos de entrega.
Preguntas frecuentes
¿Cuánto cuesta una solicitud?
Cada solicitud de API cuesta $0.002. El resultado contiene toda la paleta de tintes solicitada.
¿La paleta incluye el color base?
La respuesta presenta la base normalizada por separado. La lista de tintes contiene solo mezclas progresivamente más claras y termina en blanco.
¿Por qué el último tinte siempre es blanco?
Los pasos dividen en intervalos iguales todo el recorrido desde el color base hasta una mezcla con 100% de blanco.
¿Qué formatos de color se aceptan?
Use tres o seis dígitos hexadecimales, con o sin almohadilla inicial. Se rechazan los canales alfa y otras sintaxis de color CSS.
¿Estos tintes garantizan los requisitos de contraste accesible?
No. El contraste depende del primer plano, tamaño, peso y norma aplicable; compruebe cada tinte en su contexto previsto.
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/tints-palette \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#3366cc","steps":4}'const res = await fetch("https://api.kit.forhosting.com/color/tints-palette", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#3366cc",
"steps": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/tints-palette",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#3366cc",
"steps": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/tints-palette", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#3366cc","steps":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#3366cc","steps":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/tints-palette", 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
{
"color": "#3366cc",
"steps": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.tints_palette",
"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. |