S
SoSimple.tools
Ferramentas para devs e design

Conversor de codificação

Converta dados entre texto puro, Base64, codificação de URL, hexadecimal e binário de 8 bits em tempo real, byte a byte em UTF-8

Funciona no seu navegador: o que você informa fica no seu aparelho

Dados de entrada e formatação

13 characters 13 bytes (UTF-8)
Gerar Base64 seguro para URL (- e _ no lugar de + e /)
Representações convertidas
Texto puro (UTF-8)
Hello, World!
Representação Base64
SGVsbG8sIFdvcmxkIQ==
Formato URL codificado
Hello%2C%20World!
Bytes hexadecimais
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21
Bits binários (8 bits)
01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001
Conteúdo convertido com sucesso em todas as representações
Compartilhar esta ferramenta

Como usar esta ferramenta

  1. Escolha “Codificar texto” ou “Decodificar” e depois o formato de entrada: texto puro, Base64, URL codificado, hexadecimal ou binário.
  2. Digite ou cole os dados; os demais formatos se atualizam enquanto você digita.
  3. Ajuste os separadores de hex e binário e marque a opção de Base64 seguro para URL se quiser - e _ no lugar de + e /.
  4. Use o botão Copiar ao lado do formato desejado, ou copie todos os formatos de uma vez.

Exemplo prático

O texto padrão Hello, World! tem 13 caracteres e 13 bytes em UTF-8. O Base64 é SGVsbG8sIFdvcmxkIQ==, a forma URL é Hello%2C%20World! e o hex é 48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21. Uma letra fora do ASCII muda a contagem de bytes: Héllo tem 5 caracteres mas 6 bytes, porque o é ocupa dois (c3 a9), e o Base64 é SMOpbGxv. Se você decodificar bytes que não são UTF-8 válido, a coluna de texto mostra caracteres de substituição, então o texto pode não bater com os bytes originais. Base64 é uma codificação para transporte, não criptografia.

Metodologia

Codificações traduzem bytes em texto que sobrevive ao transporte e ao armazenamento. Exemplo: a string Héllo, de 5 caracteres, ocupa 6 bytes em UTF-8 porque o é usa dois (c3 a9): hex 48 c3 a9 6c 6c 6f, Base64 SMOpbGxv, forma de URL H%C3%A9llo. Todas as outras representações derivam desses bytes, seja qual for o formato em que você digitar.

Base64 (RFC 4648) e codificação percentual de URL (RFC 3986): O Base64 mapeia cada bloco de 3 bytes (24 bits) em quatro caracteres de um alfabeto de 64; quando o tamanho não é múltiplo de 3, um ou dois caracteres de preenchimento = completam o último bloco (Hi vira SGk=). O percent-encoding gerado por encodeURIComponent escreve cada byte inseguro como %HH, então um espaço vira %20 e não +. A opção URL-safe troca + e / por - e _ e omite o preenchimento.
Serialização multibyte UTF-8 e saídas hex/binário: O texto é convertido em 1 a 4 bytes por ponto de código pelo TextEncoder do navegador (UTF-8). O hexadecimal mostra cada byte com dois dígitos (0-f) e o binário com oito bits. A decodificação segue o caminho inverso: a entrada em hexadecimal aceita espaços, dois-pontos, vírgulas e prefixos 0x, e sequências de bytes que não são UTF-8 válido aparecem com o caractere de substituição, por isso o texto pode diferir dos bytes originais.

Quantos bytes custa um único símbolo?

Cada linha foi digitada como texto simples com as configurações padrão (hexadecimal separado por espaços, Base64 padrão). A coluna de contagem mostra o contador de caracteres da ferramenta e depois os bytes em UTF-8.

TextoCaracteres → bytesHexBase64
Hi2 → 248 69SGk=
ñ1 → 2c3 b1w7E=
€1 → 3e2 82 ac4oKs
日本2 → 6e6 97 a5 e6 9c ac5pel5pys
😀2 → 4f0 9f 98 808J+YgA==

Como ler: o texto em Base64 cresce com os bytes, não com os caracteres. O contador usa unidades UTF-16, por isso o emoji aparece como 2 caracteres, embora seja um só símbolo; para limites de tamanho, o que vale é o número de bytes. Na saída de URL da ferramenta, viram %C3%B1, %E2%82%AC, %E6%97%A5%E6%9C%AC e %F0%9F%98%80. Com a opção URL-safe, o 8J+YgA== do emoji vira 8J-YgA. Base64 é um jeito de levar bytes como texto, não é criptografia.

Ferramentas relacionadas

Perguntas frequentes

Qual é a diferença entre Base64 padrão e Base64 URL-Safe? ▼

O Base64 padrão (RFC 4648 §4) utiliza os caracteres “+” e “/” e preenchimento com “=”. Em URLs e parâmetros de rotas HTTP, esses caracteres geram conflitos de parsing. A versão URL-Safe (RFC 4648 §5) substitui “+” por “-” e “/” por “_”, dispensando normalmente o preenchimento com “=”.

Por que um texto com acentos produz mais bytes do que o número de caracteres? ▼

Na codificação variável UTF-8, caracteres ASCII padrão consomem 1 byte. Caracteres acentuados da língua portuguesa (como á, é, ç, ã) demandam 2 bytes cada na memória, o que se reflete na quantidade de bytes e nos dígitos hexadecimais gerados.

Meus dados ou tokens são enviados para algum servidor durante a conversão? ▼

O código de conversão roda no seu navegador usando as funções nativas TextEncoder, TextDecoder, atob e btoa, e a página não envia o que você digita. Mesmo assim, evite colar segredos reais de produção em sites que você não controla. Lembre também que Base64, codificação de URL, hexadecimal e binário são codificações reversíveis, não criptografia: quem vê o resultado consegue decodificá-lo, então codificar uma senha ou token não o protege. Se a entrada não for válida para o formato escolhido (por exemplo, hexadecimal com número ímpar de dígitos ou binário que não seja múltiplo de 8 bits), a ferramenta mostra um erro em vez de adivinhar.