Base32 Encode/Decode Online

Codifique ou decodifique texto em Base32 (RFC 4648) online. Usa alfabeto A-Z e 2-7 com padding '='.

Base32 Encode / Decode online

Cole o texto para codificar em Base32, ou cole um Base32 para decodificar. Implementação conforme RFC 4648 com suporte completo a UTF-8.

O que é Base32?

Base32 é um esquema de codificação binária que representa dados usando apenas 32 caracteres: as letras maiúsculas A a Z e os dígitos 2 a 7. O padding usa o caractere =.

Alfabeto Base32: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567

Assim como o Base64, o Base32 converte dados binários em texto ASCII imprimível. A diferença está no tamanho do alfabeto: 32 símbolos em vez de 64.

Base32 vs Base64: qual a diferença?

CaracterísticaBase32Base64
Tamanho do alfabeto32 caracteres64 caracteres
Caracteres usadosA–Z, 2–7A–Z, a–z, 0–9, +/
Case-sensitiveNãoSim
Overhead de tamanho~60% maior~33% maior
Legibilidade humanaAltaMédia
Seguro em URLsSim (sem encode)Não (precisa de variante)
Seguro em DNSSimNão

A principal vantagem do Base32 sobre o Base64 é que seu alfabeto não contém letras minúsculas nem caracteres especiais (+, /, = de padding apenas). Isso o torna ideal para sistemas onde a diferenciação de maiúsculas/minúsculas é problemática.

Como funciona o Base32

O algoritmo divide os bytes de entrada em grupos de 5 bits (em vez dos 6 bits do Base64). Cada grupo de 5 bits mapeia para um dos 32 caracteres do alfabeto:

  • 00000A (índice 0)
  • 00001B (índice 1)
  • 110113 (índice 27)
  • 111117 (índice 31)

A cada 5 bytes (40 bits) de entrada correspondem 8 caracteres Base32 (5 bits × 8 = 40 bits). Por isso, o tamanho do resultado é sempre múltiplo de 8 — padding com = é adicionado quando necessário.

Casos de uso do Base32

TOTP e 2FA (autenticação de dois fatores)

O caso de uso mais comum do Base32 hoje é no armazenamento de segredos TOTP (Time-based One-Time Password), usado por apps como Google Authenticator, Authy e Microsoft Authenticator.

Quando você escaneia um QR Code para configurar 2FA, o segredo compartilhado entre o servidor e o app está codificado em Base32. A RFC 6238 (TOTP) especifica Base32 para esse propósito justamente porque:

  • Não tem letras minúsculas (fácil de digitar manualmente)
  • Não tem caracteres ambíguos (sem 0/O ou 1/l)
  • Não tem caracteres especiais problemáticos em URLs

IPFS (InterPlanetary File System)

O IPFS usa Base32 no formato de endereçamento CIDv1 para identificar conteúdo de forma única. Os Content Identifiers (CIDs) em Base32 lowercase são o padrão recomendado por serem seguros em DNS e URLs.

Geohash e identificadores compactos

Sistemas de geolocalização e identificadores compactos frequentemente usam Base32 por sua legibilidade e segurança em diferentes contextos.

DNS e subdomínios

Nomes de domínio são case-insensitive. Base32 é usado quando é necessário incorporar dados binários em nomes DNS (como em DNSSEC e outros protocolos).

Códigos de verificação e tokens

Base32 é popular para gerar códigos de verificação legíveis por humanos — como códigos de backup de 2FA, tokens de confirmação de e-mail, e chaves de licença — por ser fácil de digitar e evitar confusões entre caracteres similares.

Exemplo prático

Texto: "Hello"
Base32: JBSWY3DP
Base64: SGVsbG8=

Note que Base32 não usa letras minúsculas nem / ou +, tornando-o mais fácil de incluir em URLs, e-mails, e sistemas case-insensitive.

Perguntas frequentes

Por que Base32 usa 2–7 e não 0–9?

Os dígitos 0 e 1 foram omitidos para evitar confusão visual com as letras O e I/L. Usando apenas 27, o alfabeto Base32 elimina ambiguidades comuns ao digitar ou transcrever manualmente.

Base32 é o mesmo que Base32hex?

Não. Base32hex (também definido na RFC 4648) usa o alfabeto 0–9A–V em vez de A–Z2–7. É menos comum, mas mantém a ordenação numérica natural. Esta ferramenta usa o Base32 padrão (A–Z2–7).

Base32 é criptografia?

Não. Como o Base64, o Base32 é apenas codificação — não oferece nenhuma segurança ou privacidade. Qualquer pessoa pode decodificar um Base32 imediatamente.

Por que o resultado é maior que a entrada?

Cada 5 bytes de entrada viram 8 caracteres Base32 (overhead de 60%). Isso é maior que o Base64 (33% de overhead), mas o tradeoff é um alfabeto mais simples e seguro.

Veja também