Conversor Hex8 para RGBA
Leia uma cor hex com transparência canal por canal: #33669980 se divide em vermelho 51, verde 102, azul 153 e alfa 128, que equivale a 0,501961 numa escala de opacidade de 0 a 1. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Hex
- #33669980
- Red
- 51
- Verde
- 102
- Azul
- 153
- Alfa
- 128
O conversor de Hex8 para RGBA lê uma cor hexadecimal de oito dígitos na ordem RRGGBBAA e a separa nos canais vermelho, verde, azul e alfa. Ele valida o comprimento exato e todos os caracteres antes da conversão, impedindo que uma entrada malformada gere números plausíveis, porém incorretos. O resultado inclui quatro valores de byte de 0 a 255, um alfa normalizado de 0 a 1 e um código de cor canônico em letras minúsculas. Você pode informar o valor com ou sem o cerquilha inicial; as regras aplicadas são sempre claras e determinísticas.
Entenda a ordem de bytes RRGGBBAA
Uma cor hexadecimal de oito dígitos contém quatro pares consecutivos de bytes. O primeiro par representa o vermelho, o segundo o verde, o terceiro o azul e o último o alfa. Por exemplo, em #33669980, os pares são 33, 66, 99 e 80.
Cada par corresponde a um inteiro de 0 a 255, pois dois dígitos hexadecimais codificam exatamente um byte. O alfa segue a convenção CSS RRGGBBAA: 00 significa totalmente transparente e FF, totalmente opaco. Essa ordem importa porque alguns sistemas colocam o alfa primeiro e usam AARRGGBB.
O conversor não tenta adivinhar nem reorganizar um valor com alfa inicial. Informe RRGGBBAA, opcionalmente precedido por um cerquilha, e os campos vermelho, verde, azul e alfa preservarão essa sequência. A saída também traz um array rgba com os mesmos quatro bytes.
Valide antes de converter
Cadeias de cores podem conter falhas discretas. Um dígito ausente desloca todos os canais seguintes, um dígito extra altera os pares e um caractere como G não pertence à notação hexadecimal. Por isso, o conversor executa verificações em uma sequência fixa.
Primeiro, exige que o campo hex seja uma string e remove espaços externos. Em seguida, retira um cerquilha inicial opcional e confirma que restam exatamente oito caracteres. Somente depois verifica se todos pertencem a 0–9, A–F ou a–f.
A conversão começa apenas quando as duas condições são atendidas. Isso impede a análise parcial, na qual um parser genérico poderia aceitar um prefixo válido e ignorar texto inválido no final. Os erros também permanecem previsíveis: valores de tamanho incorreto indicam um problema de comprimento, enquanto símbolos proibidos em valores de tamanho correto indicam um problema de caracteres.
Entradas válidas são normalizadas para letras minúsculas com cerquilha, fazendo formas equivalentes produzirem a mesma cor canônica e os mesmos canais.
Use valores RGBA determinísticos no seu fluxo
Os canais retornados atendem a pipelines de validação, transformação de tokens de design, ferramentas de folhas de estilo e importações que precisam de números explícitos. O byte alfa é fornecido como inteiro exato e também como valor normalizado arredondado. O campo hex canônico auxilia na deduplicação, pois #AABBCCFF e aabbccff resultam na mesma forma em minúsculas.
Strings inválidas geram um erro de entrada em vez de serem corrigidas ou preenchidas.
Casos de uso
Transformar tokens de design
Converta valores RRGGBBAA em campos explícitos de canais para um compilador de temas ou sistema de componentes.
Validar cores importadas
Rejeite cores de oito dígitos malformadas antes que entrem em um banco de dados, folha de estilo ou pipeline gráfico.
Inspecionar a transparência
Leia o byte alfa exato e sua opacidade normalizada sem estimar visualmente a transparência.
Perguntas frequentes
A entrada exige um cerquilha inicial?
Não. #RRGGBBAA e RRGGBBAA são aceitos, e o valor hexadecimal canônico retornado inclui o cerquilha.
O alfa fica no início ou no final?
O alfa fica no final. A ordem exigida é vermelho, verde, azul e alfa: RRGGBBAA, não AARRGGBB.
Cores com três, seis ou quatro dígitos são aceitas?
Não. Esta capacidade exige exatamente oito dígitos hexadecimais depois do cerquilha opcional.
Letras hexadecimais maiúsculas são aceitas?
Sim. A–F são aceitos em maiúsculas ou minúsculas, e o valor hexadecimal canônico é retornado em minúsculas.
Quanto custa uma conversão?
O marcador de preço é resolvido com base na declaração da capacidade.
Ferramentas relacionadas
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/hex8-rgba \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hex":"#33669980"}'const res = await fetch("https://api.kit.forhosting.com/color/hex8-rgba", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hex": "#33669980"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/hex8-rgba",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hex": "#33669980"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/hex8-rgba", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hex":"#33669980"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hex":"#33669980"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/hex8-rgba", 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": "#33669980"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.hex8_rgba",
"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. |
Notas técnicas
Entenda a ordem de bytes RRGGBBAA
O campo alpha_normalized divide o byte alfa por 255 e o arredonda de forma determinística para seis casas decimais, facilitando o uso em sistemas cuja opacidade varia de zero a um.
Use valores RGBA determinísticos no seu fluxo
Como o conversor não usa rede, horário atual, configuração regional nem aleatoriedade, a mesma entrada sempre gera o mesmo JSON. Use o inteiro quando for importante preservar a representação original de oito bits; use alpha_normalized quando uma API esperar opacidade entre zero e um. Uma conversão pela API custa US$ 0,002, enquanto o caminho determinístico no navegador oferece uso interativo imediato sem alterar as regras de análise.
Perguntas técnicas
Qual intervalo os canais utilizam?
Vermelho, verde, azul e alfa são inteiros de 0 a 255. alpha_normalized varia de 0 a 1.