Espandere hex abbreviato
Trasformi la forma abbreviata in quella lunga usata dai browser: #f0a diventa #ff00aa perché ogni cifra viene raddoppiata, e ottiene anche #FF00AA in maiuscolo e i canali 255, 0 e 170. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Hex
- #f0a
- Hex
- #ff00aa
- Hex senza #
- ff00aa
- Maiuscolo
- #FF00AA
- Forma abbreviata
- #f0a
CSS e gli strumenti di design scrivono spesso i colori in forma abbreviata a tre cifre, ad esempio #f0a, invece della forma completa a sei cifre #ff00aa. I browser espandono tale abbreviazione raddoppiando ogni cifra esadecimale così che ogni canale diventi un byte completo. Questo strumento di espansione del colore hex abbreviato accetta un codice a tre cifre con o senza cancelletto iniziale, verifica che ogni carattere sia una cifra esadecimale e restituisce l’espansione deterministica a sei cifre più gli interi dei canali rosso, verde e blu corrispondenti. Gli sviluppatori front-end lo usano quando i token di design arrivano come codici brevi e fogli di stile, snapshot o design system richiedono la forma lunga. Studenti e script di QA lo usano per controllare che una palette scritta a mano coincida byte per byte con la regola del CSS Color Module.
Cosa significa l’abbreviazione a 3 cifre e come funziona l’espansione
In CSS un colore esadecimale può essere scritto con tre cifre dopo un cancelletto opzionale: un nibble per il rosso, uno per il verde e uno per il blu. La regola ufficiale di espansione è semplice e assoluta: ogni cifra viene ripetuta una volta così che tre caratteri diventino sei. Ad esempio #abc si espande in #aabbcc, #f0a in #ff00aa e #000 in sei zeri.
Questa regola non è un’euristica né un’approssimazione percettiva; è la stessa mappatura che i browser applicano quando analizzano un foglio di stile. Questo calcolatore codifica esattamente quella mappatura.
Lei fornisce un’abbreviazione a tre cifre, il motore porta le cifre in minuscolo per una forma canonica stabile, raddoppia ogni nibble e restituisce la stringa completa con cancelletto, le sei cifre senza cancelletto, una forma in maiuscolo per le guide di stile che preferiscono A–F maiuscole, l’abbreviazione normalizzata a tre cifre con e senza cancelletto, un booleano che registra se l’input portava un cancelletto iniziale, e i canali interi r, g e b da 0 a 255 così da poter alimentare lo stesso colore in strumenti RGB senza una seconda conversione.
Non esiste un percorso che inventi un quarto canale, preservi l’alfa o tratti i prefissi 0x come colori CSS validi. Usi un convertitore dedicato da hex a RGB o multiformato quando ha già sei cifre e serve solo i numeri di canale; usi questa pagina quando l’input è deliberatamente corto e il compito è materializzare la forma lunga con un contratto di validazione chiaro.
Dove conviene espandere l’hex abbreviato
I design system ricevono spesso campioni di marca come codici a tre cifre da guide di stile obsolete, plugin Figma o note manoscritte, mentre le pipeline di token moderne e le proprietà personalizzate CSS preferiscono hash a sei cifre per grepping, diff di snapshot e mappatura canale a canale. Espandere l’abbreviazione una sola volta al confine mantiene ogni consumatore a valle sulla forma lunga senza che ciascun team reimplementi leggermente in modo diverso la regola del raddoppio.
I materiali didattici di sviluppo web introducono presto i colori a tre cifre perché sono facili da digitare, poi chiedono agli studenti di spiegare l’espansione; uno strumento deterministico consente di mostrare che #fff è bianco e che #f0a non equivale a inventare cifre mancanti. Le pipeline di QA e accessibilità a volte memorizzano colori in formati misti; normalizzare i codici brevi a sei cifre prima dei controlli di contrasto evita falsi disallineamenti quando un lato ha usato l’abbreviazione e l’altro la forma lunga.
Abbini questo espansore a convertitori RGB o HSL quando servono altri spazi, e mantenga questa pagina focalizzata quando l’unico compito è da tre cifre a sei sotto un contratto di validazione rigoroso che rifiuta codici già lunghi e caratteri illegali invece di indovinare.
Casi d'uso
Token di design e normalizzazione CSS
Converta l’abbreviazione di marca #RGB in stringhe #RRGGBB per file di tema, proprietà personalizzate e pipeline di token del design system.
Didattica e verifica dei compiti
Mostri agli studenti la regola CSS del raddoppio del nibble e verifichi colori espansi a mano senza calcolatori opachi.
Domande frequenti
Come si espande #RGB in #RRGGBB?
Ciascuna delle tre cifre hex viene raddoppiata: #abc diventa #aabbcc e #f0a diventa #ff00aa. È la stessa regola che i browser CSS usano per i colori abbreviati.
Lo strumento accetta hex a 6 cifre come input?
No. Questo strumento espande solo l’abbreviazione a 3 cifre.
Quali caratteri sono consentiti?
Esattamente tre cifre esadecimali 0–9 e A–F/a-f, con cancelletto opzionale. Spazi, prefissi 0x, stringhe vuote e caratteri non hex vengono rifiutati.
Come diventa #f0a a sei cifre?
Diventa #ff00aa. Ognuna delle tre cifre viene scritta due volte: la f diventa ff, lo 0 diventa 00 e la a diventa aa, cioè rosso 255, verde 0 e blu 170.
Devo scrivere il cancelletto iniziale?
No. Può inserire #f0a oppure solo f0a e il risultato non cambia. La risposta indica anche se il valore inserito aveva il cancelletto.
Strumenti correlati
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/hex3-hex6 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hex":"#f0a"}'const res = await fetch("https://api.kit.forhosting.com/color/hex3-hex6", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hex": "#f0a"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hex3-hex6",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hex": "#f0a"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hex3-hex6", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hex":"#f0a"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hex":"#f0a"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hex3-hex6", 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
{
"hex": "#f0a"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hex3_hex6",
"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. |
Note tecniche
Il motore non chiama mai la rete, non usa casualità e non dipende dall’orologio, così le esecuzioni gratuite nel browser e le chiamate API a $0.002 per richiesta riuscita concordano sempre sulla stessa stringa #RRGGBB.
Cosa significa l’abbreviazione a 3 cifre e come funziona l’espansione
Una lunghezza errata, incluso un codice a sei cifre già espanso, viene rifiutata con invalid_input invece di essere passata in silenzio, perché l’intento di ricerca di questa pagina è il passo di espansione in sé, non una conversione multiformato del colore.
Contratto di input, validazione e forma di output riproducibile
Gli spazi esterni vengono tagliati. Dopo il cancelletto opzionale, il corpo deve contenere esattamente tre caratteri da 0 a 9 e da A a F in qualsiasi caso. Spazi nel corpo, corpi vuoti, forme a quattro o otto cifre e qualsiasi carattere non esadecimale falliscono la validazione. Il nome di campo preferito è hex, ma gli alias color, value, text, input, code e shorthand sono accettati così che moduli, query string e fogli di calcolo riutilizzino lo stesso contratto senza rinominare le colonne. Il valore deve essere una stringa: i numeri nudi sono rifiutati perché gli zeri iniziali e la lunghezza delle cifre contano nei codici colore e un numero JSON non può preservare tali dettagli. È consentito un unico cancelletto iniziale opzionale e viene registrato in had_hash; un prefisso 0x o 0X non è abbreviazione CSS e fallisce con un messaggio chiaro. In caso di successo la risposta include sempre l’hex in minuscolo con cancelletto come valore espanso primario, hex_no_hash per i file di token che memorizzano cifre nude, uppercase per le convenzioni in maiuscolo, shorthand e shorthand_no_hash come input a tre cifre normalizzato, gli interi di canale r, g e b derivati dalle coppie espanse, il tag di metodo hex3_to_hex6 e una breve stringa di formula che ricorda che ogni nibble d diventa d d. La validazione fallita non viene addebitata; le chiamate API riuscite costano il prezzo base pubblicato.
Dove conviene espandere l’hex abbreviato
Poiché l’implementazione è pure parse di livello A, ogni chiamata riuscita costa $0.002 senza token di modello e senza rete in uscita, l’input non valido non consuma saldo e nulla viene memorizzato dopo la risposta.
Casi di integrazione
Fixture CI deterministiche
Fissi risultati hex espansi in test unitari e baseline di snapshot così che i codici brevi di palette non derivino tra ambienti.
Domande tecniche
Il cancelletto iniziale è obbligatorio?
No. Sono accettati sia #f0a sia f0a. La risposta include had_hash per indicare se l’input usava un cancelletto, e hex restituisce sempre una stringa a sei cifre con cancelletto.
Quanto costa espandere un colore hex abbreviato?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo KIT prepagato a $0.002 per chiamata riuscita; l’input non valido non viene addebitato.