Converter texto em hexadecimal
«Hello, hex!» vira 48656c6c6f2c2068657821: 11 bytes, cada um mostrado com dois dígitos hexadecimais. Cole o hexadecimal de volta e o texto reaparece, mas tamanho ímpar ou bytes inválidos são recusados em vez de adivinhados. 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
- Texto
- Hello, hex!
- Hex
- 48656c6c6f2c2068657821
- Bytes
- 11
- Modo de cálculo
- Encode
- Codificação
- utf-8
Texto e hexadecimal são duas maneiras úteis de visualizar os mesmos dados UTF-8. O texto é conveniente para pessoas, enquanto o formato hexadecimal revela os bytes exatos usados por programas, protocolos, logs e testes. Este conversor transforma uma string em uma sequência hexadecimal contínua ou recupera texto legível a partir de bytes válidos. Ele trata ASCII e Unicode multibyte de forma consistente, informa a quantidade de bytes e identifica a direção escolhida. No modo de decodificação, rejeita valores com tamanho ímpar, caracteres inválidos e sequências que não formam UTF-8 válido, evitando que preenchimentos ou símbolos de substituição alterem silenciosamente a informação original.
Converta texto legível em bytes hexadecimais
Selecione o modo encode e informe exatamente o texto que você deseja inspecionar ou transportar. Como encode é o padrão, basta enviar o campo text na operação mais comum. O conversor serializa a string como UTF-8 e representa cada byte com dois dígitos hexadecimais minúsculos.
Letras latinas básicas normalmente ocupam um byte, enquanto caracteres acentuados, outras escritas e emojis usam vários bytes. Essa diferença é essencial, pois o resultado representa bytes codificados, não caracteres visuais nem pontos de código Unicode. A resposta inclui o texto original, a sequência hexadecimal contínua, a quantidade de bytes UTF-8, o modo resolvido e o nome da codificação.
Preserve espaços, tabulações e quebras de linha quando forem importantes, pois eles também são dados. Uma string vazia é válida e gera zero bytes. Como o algoritmo não usa rede, relógio, aleatoriedade ou estado externo, entradas iguais sempre produzem resultados idênticos.
Decodifique hexadecimal para texto UTF-8 com segurança
Selecione o modo decode quando o campo text contiver bytes hexadecimais. Envie uma string contínua composta apenas pelos dígitos 0 a 9 e pelas letras a a f; letras maiúsculas são aceitas e normalizadas para minúsculas na resposta. Primeiro, o conversor confirma que a quantidade de caracteres é par, pois cada byte exige um par completo.
Um valor de tamanho ímpar é rejeitado, sem adivinhação, preenchimento ou corte. Pontuação, prefixos, espaços, separadores e letras fora do alfabeto hexadecimal também são recusados. Essas regras tornam dados malformados visíveis e mantêm os processos automáticos previsíveis.
Depois da análise, os bytes são decodificados com UTF-8 estrito. Se a sequência não for válida, você recebe um erro de entrada em vez de caracteres de substituição que poderiam ocultar corrupção. Uma resposta bem-sucedida contém o texto recuperado, o hexadecimal normalizado, a quantidade de bytes, o modo decode e a indicação UTF-8.
A string vazia é um valor válido de zero bytes. Remova espaços e prefixos 0x da origem antes de enviar.
Use a conversão determinística em seus fluxos
Use o formulário no navegador para depuração rápida, ensino, conversões de copiar e colar ou inspeção dos bytes de uma string visível. Uma boa suíte de testes inclui ASCII, Unicode multibyte, uma conversão reversa válida e um caso de tamanho ímpar ou caractere proibido. Verifique também a quantidade de bytes, pois o comprimento em caracteres não é igual ao comprimento UTF-8.
Hexadecimal não é criptografia: ele não esconde conteúdo, autentica remetentes, comprime mensagens nem protege segredos. A ferramenta atende documentação de protocolos, migrações, análise de logs, interoperabilidade, educação e diagnóstico. Para arquivos muito grandes, prefira uma solução orientada a arquivos ou streaming.
Casos de uso
Aprendizado de Unicode
Demonstre por que caracteres visíveis ocupam quantidades diferentes de bytes UTF-8 comparando ASCII, acentos, escritas e emojis.
Perguntas frequentes
O modo encode usa UTF-8?
Sim. O texto é serializado em bytes UTF-8, e cada byte se torna dois dígitos hexadecimais minúsculos.
Por que o hexadecimal precisa ter tamanho par?
Um byte requer dois dígitos hexadecimais. Uma quantidade ímpar deixa um byte incompleto e, por isso, é rejeitada.
Posso incluir espaços, hifens ou o prefixo 0x?
Não. O modo decode aceita somente uma string contínua de dígitos hexadecimais para manter a validação inequívoca.
O que ocorre se os bytes não forem UTF-8 válido?
A conversão retorna um erro de entrada inválida em vez de inserir silenciosamente caracteres Unicode de substituição.
Hexadecimal é uma forma segura de ocultar texto?
Não. É uma representação reversível de bytes, e não criptografia, hash, controle de acesso ou proteção de segredos.
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/text/text-to-hex \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello"}'const res = await fetch("https://api.kit.forhosting.com/text/text-to-hex", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/text-to-hex",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/text-to-hex", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/text-to-hex", 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
{
"text": "Hello"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.text_to_hex",
"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.
Limites
max_tokens | 20000 |
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
Use a conversão determinística em seus fluxos
Use a API quando um script, SDK, tarefa de integração contínua, gerador de documentação ou fluxo de suporte precisar repetir a mesma operação. Cada item bem-sucedido custa US$ 0,002; entradas reversas malformadas retornam invalid_input, permitindo separar problemas de dados de falhas do serviço.
Casos de integração
Depuração de protocolos e API
Inspecione os bytes UTF-8 exatos de campos, respostas ou mensagens curtas e recupere texto legível de bytes conhecidos.
Fixtures de software estáveis
Crie valores hexadecimais canônicos em minúsculas para testes unitários, documentação, migrações e verificações entre linguagens.