Generi tinte di colore
Generi una palette di tinte affidabile partendo da un solo colore di base, senza stimare i valori intermedi né regolare cursori a occhio.
Esegui gratis nel browser
Questo strumento miscela il colore esadecimale indicato con il bianco a incrementi percentuali uguali e restituisce valori HEX e RGB precisi per ogni tinta. Il calcolo è deterministico: lo stesso colore e lo stesso numero di passaggi producono sempre la medesima palette. Lo utilizzi per preparare stati dell’interfaccia, sfondi, grafici, illustrazioni o token di design che richiedono una progressione chiara dal colore originale al bianco.
Scelga un colore di base e un numero utile di passaggi
Inizi con un colore di base esadecimale di tre o sei cifre, per esempio #36c o #3366cc. La forma breve viene espansa prima del calcolo, quindi entrambi gli esempi rappresentano esattamente lo stesso colore e producono risultati identici. Scelga poi da uno a venti passaggi. Il numero indica quante tinte vengono generate, escludendo il colore di base originale e includendo il bianco puro come risultato finale. Quattro passaggi miscelano quindi la base con il bianco al 25%, 50%, 75% e 100%. Un numero ridotto è adatto a una gerarchia compatta dell’interfaccia, mentre un numero maggiore offre opzioni più precise per visualizzazioni di dati, illustrazioni o esplorazione dei token. Il risultato mostra separatamente la base normalizzata e ogni tinta generata, rendendo evidente quale valore è stato fornito e quali sono stati calcolati. Poiché la progressione termina sempre nel bianco, i campioni adiacenti presentano variazioni uguali nella percentuale di miscela, anche se le differenze visive cambiano in base al colore iniziale e allo schermo.
Comprenda la formula di miscelazione deterministica
Ogni canale rosso, verde e blu viene miscelato separatamente verso 255, il valore del canale per il bianco. Per la tinta numero k in una palette di n passaggi, lo strumento calcola base + (255 − base) × k/n e arrotonda il canale all’intero più vicino. Applicare lo stesso rapporto a tutti e tre i canali mantiene il legame con il colore originale, riducendone progressivamente la distanza dal bianco. La risposta include un indice a partire da uno, la percentuale esatta di miscela con il bianco, il valore HEX normalizzato in minuscolo, i singoli numeri dei canali e una stringa RGB. Si tratta di interpolazione sRGB diretta: non modifica la luminosità HSL, non esegue una miscelazione ottica con correzione gamma e non tenta un’equalizzazione percettiva. La distinzione è importante quando si confronta l’output con programmi grafici che offrono più spazi di miscelazione. La formula è volutamente semplice, documentata e stabile, quindi adatta a script di build, snapshot, generazione automatica di token e sistemi nei quali la ripetibilità conta più della regolazione visiva soggettiva.
Applichi la palette in sicurezza in un sistema di design
Consideri i valori generati come una scala iniziale coerente, quindi li provi nel contesto reale. Le tinte più chiare sono utili per righe selezionate, sfondi delle notifiche, bordi discreti, riempimenti dei grafici, superfici al passaggio del puntatore e aree decorative, ma una palette matematicamente regolare non garantisce automaticamente un contrasto accessibile. Verifichi testi e icone in primo piano su ogni tinta scelta rispetto ai requisiti di contrasto applicabili al Suo prodotto. Conservi il colore di base come token separato e denomini i valori generati secondo il ruolo o la percentuale di miscela, come brand-tint-25 o info-background, invece di affidarsi soltanto alla posizione nell’elenco. I nomi percentuali restano comprensibili se una palette successiva usa un diverso numero di passaggi. Nei flussi automatizzati, salvi direttamente i valori HEX restituiti e conservi insieme il colore di input e il numero di passaggi per rendere riproducibile la palette. Colori non validi, formati esadecimali con alfa, quantità frazionarie e valori fuori intervallo vengono rifiutati, impedendo che modifiche accidentali ai token passino inosservate.
Casi d'uso
Crei token per le superfici dell’interfaccia
Produca sfondi chiari, bordi e stati selezionati ripetibili da un unico colore di marca o semantico già definito.
Prepari varianti cromatiche per i grafici
Generi riempimenti chiari prevedibili che rimangano visivamente collegati al colore principale della serie.
Automatizzi la documentazione della palette
Produca valori HEX e RGB stabili per pagine del sistema di design, generazione di codice, test e file di consegna.
Domande frequenti
Quanto costa una richiesta?
Ogni richiesta API costa $0.002. L’output contiene l’intera palette di tinte richiesta.
La palette include il colore di base?
La risposta mostra separatamente la base normalizzata. L’elenco contiene solo miscele progressivamente più chiare e termina con il bianco.
Perché l’ultima tinta è sempre bianca?
I passaggi dividono in intervalli uguali l’intero percorso dal colore di base a una miscela con il 100% di bianco.
Quali formati di colore sono accettati?
Utilizzi tre o sei cifre esadecimali, con o senza cancelletto iniziale. I canali alfa e le altre sintassi colore CSS vengono rifiutati.
Queste tinte garantiscono un contrasto accessibile?
No. Il contrasto dipende da primo piano, dimensione, peso e standard applicabile; verifichi ogni tinta nel contesto previsto.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"color": "#3366cc",
"steps": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.tints_palette",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |