Detector de codificação

Não sabe se uma string está em Base64, hex, Base58 ou em outro formato? Cole-a aqui. O detector testa todos os decodificadores, classifica os resultados sem erros e mostra uma prévia dos dados decodificados.

Funciona inteiramente no seu navegador. Nada é enviado.

Como usar

  1. Cole a string desconhecida na caixa de entrada.
  2. O detector executa todos os decodificadores e lista as codificações que decodificam a string sem erros, da mais provável para a menos provável.
  3. Confira, para cada candidata, a prévia do texto ou dos bytes decodificados e o tipo de arquivo detectado.
  4. Quando souber a codificação, abra a página da ferramenta correspondente para decodificar, converter ou baixar os dados.

Como o detector decide

Toda codificação tem regras que uma string segue ou quebra. O detector executa cada decodificador sobre a sua entrada. Um decodificador que encontra um caractere fora do seu alfabeto, um comprimento impossível ou um preenchimento fora do lugar é descartado, e os demais são classificados pela plausibilidade da saída.

  • Conjunto de caracteres. Hex usa apenas 0-9 e a-f. Base58 nunca contém 0, O, I ou l. Um + ou / aponta para Base64, enquanto - e _ apontam para Base64URL.
  • Comprimento e preenchimento. Hex exige um número par de dígitos. Base64 trabalha em grupos de 4 caracteres e Base32 em grupos de 8, e o preenchimento com = só pode aparecer no final.
  • Saída legível. Uma candidata que decodifica para UTF-8 válido formado por caracteres imprimíveis tem muito mais chance de estar certa do que uma que produz bytes com aparência aleatória.
  • Assinaturas de arquivo. Bytes decodificados que começam com um número mágico conhecido, como o cabeçalho de PNG, JPEG, PDF, ZIP ou gzip, são informados com o respectivo tipo de arquivo.

Invólucros como o prefixo data: de um data URI, os delimitadores <~ ~> da Adobe ou as linhas begin do uuencode são reconhecidos pelos decodificadores correspondentes. Tudo isso acontece no seu navegador.

Por que o resultado é uma classificação e não uma certeza

Os alfabetos se sobrepõem bastante. A string 48656c6c6f é o hex de Hello, mas os mesmos dez caracteres também são Base64, Base36, Base58 e Base62 válidos, e cada uma dessas leituras produz bytes diferentes. Só a leitura em hex resulta em texto legível, por isso o hex aparece primeiro. Uma palavra curta como cafe cabe em quase todos os alfabetos, e nada na própria string indica qual deles foi usado.

Entradas mais longas dão respostas mais claras, porque coincidências acidentais se tornam improváveis. Se nenhuma candidata decodificar para texto ou para um tipo de arquivo conhecido, os dados podem estar criptografados, compactados ou ser um hash. Um hash SHA-256 escrito em hex é um hex perfeitamente válido, mas seus bytes parecem aleatórios por definição.

Como reconhecer as codificações mais comuns a olho nu

CodificaçãoPistas típicas
HexApenas 0-9 a-f, comprimento par. 32, 40 ou 64 dígitos costumam indicar um hash MD5, SHA-1 ou SHA-256.
Base64A-Z a-z 0-9 + /, comprimento múltiplo de 4, pode terminar em = ou ==.
Base64URL- e _ no lugar de + e /, geralmente sem preenchimento. Três partes unidas por pontos indicam um JWT.
Base32A-Z maiúsculas e 2-7, com preenchimento = até um múltiplo de 8.
Base58Letras e dígitos sem 0 O I l. Endereços Bitcoin, hashes IPFS que começam com Qm.
Ascii85, Base85Uma mistura densa de letras, dígitos e pontuação. O Ascii85 às vezes vem entre <~ ~>.

Perguntas frequentes

Como saber se uma string está em Base64?
Procure os caracteres A-Z, a-z, 0-9, + e /, um comprimento múltiplo de 4 e no máximo dois sinais = no final. Cole-a aqui para ver se ela decodifica para texto legível ou para um tipo de arquivo conhecido. Para uma verificação rigorosa com a posição exata dos erros, use o validador Base64.
Por que o detector mostra mais de uma codificação?

Muitas strings são válidas em vários alfabetos ao mesmo tempo, principalmente as curtas. O detector lista todas as codificações que decodificam a entrada sem erros e coloca a mais plausível em primeiro lugar, com base em texto legível e assinaturas de arquivo.

Nada decodifica para texto legível. O que isso significa?
Os dados podem ser binários, como uma imagem ou um arquivo compactado, e nesse caso o tipo de arquivo detectado ajuda. Também podem ser dados criptografados, um hash ou bytes escritos com um alfabeto fora do padrão. Para este último caso, experimente a ferramenta de alfabeto personalizado.
O detector consegue descriptografar uma string ou reverter um hash?

Não. Codificações como Base64 não usam chave e são reversíveis por definição, e é por isso que podem ser detectadas e decodificadas. Dados criptografados não podem ser lidos sem a chave, e um hash não pode ser transformado de volta na entrada original.

A string colada é enviada a um servidor?

Não. Todos os decodificadores são executados localmente no seu navegador, então tokens, chaves e dados de log nunca saem do seu dispositivo.