Expanda cor hexadecimal abreviada
O expansor de cores hexadecimais abreviadas transforma uma cor CSS compacta de três dígitos em seu equivalente completo de seis dígitos.
Executar grátis
Informe um valor como #3a7 e receba #33aa77, pronto para folhas de estilo, tokens de design, arquivos de configuração ou API que exigem a notação longa. A ferramenta valida toda a entrada antes da expansão; portanto, cores de seis dígitos, variantes alfa, caracteres incorretos e valores incompletos geram um erro claro. A saída é normalizada em minúsculas e sempre inclui o jogo da velha inicial para uso direto em CSS.
Como funciona a expansão hexadecimal de três dígitos
Uma cor hexadecimal CSS normalmente descreve vermelho, verde e azul com dois dígitos por canal. Na forma abreviada, cada canal usa apenas um dígito. A expansão não acrescenta zeros nem estima uma tonalidade próxima: ela repete cada dígito original. Assim, #3a7 vira #33aa77: o dígito vermelho 3 vira 33, o verde a vira aa e o azul 7 vira 77. Essa repetição preserva exatamente a cor representada pela abreviação conforme as regras de CSS. O expansor aceita letras hexadecimais maiúsculas ou minúsculas e normaliza a resposta para minúsculas, deixando configurações geradas consistentes sem alterar a cor. O jogo da velha inicial é opcional na entrada, pois valores vindos de planilhas, argumentos de linha de comando ou formulários frequentemente aparecem sem pontuação CSS. O valor completo retornado sempre inclui esse sinal, e outro campo fornece os mesmos seis dígitos sem ele para sistemas que armazenam texto hexadecimal puro. Não ocorre conversão de espaço de cores nem arredondamento; a operação é uma transformação direta e determinística de caracteres.
O que é considerado uma entrada válida
Uma entrada válida contém exatamente três dígitos hexadecimais depois de um jogo da velha inicial opcional. São permitidos os dígitos de 0 a 9 e as letras de A a F, em maiúsculas ou minúsculas. Valores como #09f, abc e F0C são válidos; #12, #1234, #112233, red, 0xabc e #ggg não são. Essa regra estrita é importante porque formatos visualmente semelhantes têm significados diferentes. Quatro dígitos podem representar uma abreviação com canal alfa, enquanto seis dígitos já estão expandidos; aceitar qualquer um deles silenciosamente mudaria a finalidade da capacidade. Espaços ao redor são removidos para facilitar o uso com formulários e área de transferência, mas espaços dentro da cor continuam inválidos. A entrada também precisa ser uma string, porque valores numéricos podem perder zeros iniciais importantes antes de chegar ao expansor. Quando a validação falha, a API retorna um erro de entrada inválida com uma mensagem que descreve a forma obrigatória. Isso revela erros em fluxos automatizados e evita que valores malformados sejam gravados em uma folha de estilo ou coleção de tokens de design.
Como usar a cor expandida em um fluxo de trabalho
Use o valor expandido quando uma ferramenta posterior, um esquema ou uma convenção da equipe exigir cores de seis dígitos. Um script de migração pode normalizar tokens antigos antes de compará-los; um importador de sistema de design pode converter valores compactos antes de armazenar tokens canônicos; e um pipeline de validação pode rejeitar nomes acidentais ou formas alfa em sua entrada. Como a saída é um texto estável em minúsculas, chamadas repetidas com variações de caixa produzem o mesmo resultado canônico, mantendo diffs e chaves de cache organizados. O executor do navegador usa a mesma lógica pura da API, então um valor verificado interativamente se comporta da mesma maneira na automação. A operação não depende de rede nem consulta bancos de cores externos. Envie uma cor abreviada no campo hex e leia expanded para obter um valor pronto para CSS, ou expanded_no_hash quando outro formato fornece o próprio prefixo. A execução por API custa US$ 0,002 por solicitação. Para canais RGB, valores HSL, nomes, misturas ou contraste, escolha uma capacidade específica de conversão de cores.
Casos de uso
Normalizar tokens de design
Converta valores compactos em cores consistentes de seis dígitos e minúsculas antes de armazenar ou comparar.
Preparar CSS para um pipeline estrito
Expanda cores abreviadas para linters, geradores ou esquemas que exigem a notação completa #RRGGBB.
Validar dados de cor importados
Rejeite caracteres inválidos e comprimentos incorretos enquanto converte entradas legítimas de três dígitos de um feed.
Perguntas frequentes
O que a expansão faz?
Ela duplica cada dígito abreviado. Por exemplo, #3a7 vira #33aa77.
O jogo da velha inicial é obrigatório?
Não. #abc e abc são aceitos, e o campo expanded sempre inclui o sinal inicial.
Letras maiúsculas são aceitas?
Sim. As letras hexadecimais de A a F podem ser maiúsculas ou minúsculas; a saída é normalizada para minúsculas.
Posso enviar uma cor de seis ou quatro dígitos?
Não. Esta capacidade aceita exatamente três dígitos hexadecimais. Outros comprimentos retornam um erro de entrada inválida.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A mesma expansão determinística também está disponível no executor do navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/color/hex-shorthand-expand \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hex":"#3a7"}'const res = await fetch("https://api.kit.forhosting.com/color/hex-shorthand-expand", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hex": "#3a7"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hex-shorthand-expand",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hex": "#3a7"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hex-shorthand-expand", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hex":"#3a7"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hex":"#3a7"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hex-shorthand-expand", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"hex": "#3a7"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hex_shorthand_expand",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |