Tech

Codificador y decodificador Base32

Convertí texto a Base32 (RFC 4648) y de Base32 a texto. Es el formato de las claves TOTP/2FA de Google Authenticator. Soporta UTF-8, padding opcional y entrada en minúsculas. Todo en tu navegador.

Instantáneo🔒En tu navegadorSin registro
En vivo
Resultado en Base32

Qué es Base32 y por qué existe

Base32 es un esquema de codificación definido en la RFC 4648 que representa cualquier dato binario usando solo 32 caracteres: las letras A-Z y los dígitos 2-7, más el = como relleno. Cada carácter transporta 5 bits, así que cada 5 bytes de entrada se convierten en exactamente 8 caracteres de salida. ¿Para qué otro esquema si ya existe Base64? Porque Base32 tiene dos superpoderes que Base64 no tiene: no distingue mayúsculas de minúsculas (no hay dos caracteres que se diferencien solo por la caja) y evita los caracteres ambiguos — el alfabeto no incluye el 0 ni el 1, así que nunca los confundís con la O o con la l. Eso lo hace ideal para todo lo que un humano tenga que leer, dictar por teléfono o tipear a mano: las claves secretas TOTP/2FA de Google Authenticator, nombres codificados en DNS (que es case-insensitive por diseño) y los identificadores ULID, que usan una variante Base32 de Crockford.

Cómo funciona: 5 bytes se convierten en 8 caracteres

El algoritmo toma los bytes de entrada (acá, tu texto codificado a UTF-8 con TextEncoder, así que tildes, ñ y emojis salen perfectos) y los lee como una tira continua de bits. Cada grupo de 5 bits es un número entre 0 y 31, que se mapea a un carácter del alfabeto. Como 5 bytes = 40 bits = 8 grupos exactos, el bloque natural de Base32 es de 8 caracteres. Si la entrada no es múltiplo de 5 bytes, el último grupo se completa con ceros y la salida se rellena con = hasta llegar a 8. El ejemplo clásico de la RFC: foobar se codifica como MZXW6YTBOI======, y fo como MZXQ====. Podés verificarlo ahora mismo en la herramienta de arriba.

Comparativa: Base32 vs Base64 vs Hexadecimal

Base32Base64Hexadecimal
Alfabeto32 caracteres (A–Z, 2–7)64 caracteres (A–Z, a–z, 0–9, +, /)16 caracteres (0–9, A–F)
Bits por carácter564
Overhead de tamaño+60% (5 bytes → 8 chars)+33% (3 bytes → 4 chars)+100% (1 byte → 2 chars)
Distingue mayúsculasNoNo
Caracteres ambiguosNo (sin 0 ni 1)Sí (0/O, 1/l/I)No
Usos típicosClaves TOTP/2FA, DNS, ULIDEmails MIME, data URIs, JWTColores CSS, hashes, dumps

La regla práctica: si el resultado lo va a leer solo una máquina, usá Base64 (más compacto) — para eso tenés nuestro codificador Base64 y su decodificador. Si lo va a leer, dictar o tipear un humano, o el canal ignora mayúsculas (como DNS), Base32 es la elección correcta.

Dónde te cruzás con Base32 en la vida real

  • Claves TOTP/2FA. El secreto que escaneás como QR en Google Authenticator, Authy o 1Password es Base32. Si el QR falla, la clave que tipeás a mano (tipo JBSW Y3DP EHPK 3PXP) también.
  • DNS y DNSSEC. Los nombres de dominio ignoran mayúsculas, así que codificar hashes en registros (NSEC3) requiere un alfabeto case-insensitive.
  • ULID. Identificadores únicos ordenables que usan Base32 de Crockford (una variante con otro alfabeto) para ser compactos y legibles.
  • Tokens legibles. Códigos de activación, licencias y cupones que un humano tiene que tipear sin frustrarse.

Referencia: alfabeto Base32 (RFC 4648)

ValorCar.ValorCar.ValorCar.ValorCar.
0A8I16Q24Y
1B9J17R25Z
2C10K18S262
3D11L19T273
4E12M20U284
5F13N21V295
6G14O22W306
7H15P23X317

El relleno = no tiene valor: solo completa el bloque de 8 caracteres cuando la entrada no es múltiplo de 5 bytes.

Preguntas frecuentes

¿Qué es Base32 y en qué se diferencia de Base64?

Base32 usa solo 32 caracteres (A–Z, 2–7). Es más largo que Base64 (+60% vs +33%) pero no distingue mayúsculas y evita caracteres ambiguos, ideal para dictar o tipear a mano.

¿Por qué las claves de Google Authenticator usan Base32?

El estándar TOTP (RFC 6238) codifica el secreto en Base32 porque a veces se tipea a mano: sin minúsculas ni confusiones 0/O o 1/l, es más difícil equivocarse.

¿El signo = del final es obligatorio?

Según la RFC sí, pero muchas implementaciones lo omiten (las claves TOTP casi siempre van sin =). Acá aceptamos ambas formas y podés desactivarlo al codificar.

¿Base32 distingue mayúsculas de minúsculas?

No. El alfabeto oficial es en mayúsculas, pero este conversor normaliza minúsculas automáticamente antes de decodificar.

¿Cuánto crece el texto codificado en Base32?

Un 60%: cada 5 bytes se convierten en 8 caracteres, porque cada carácter transporta 5 bits.

¿Base32 es cifrado?

No. Es una codificación reversible por cualquiera, igual que Base64. Para confidencialidad usá cifrado real (AES, libsodium).

¿Qué pasa si pego una cadena con caracteres inválidos?

Mostramos un error claro indicando el carácter que no pertenece al alfabeto. Espacios, saltos de línea y minúsculas se toleran y se limpian solos.

¿Se envía mi texto a un servidor?

No, todo ocurre en tu navegador con TextEncoder y TextDecoder. Tu texto no sale de tu dispositivo.

¿Te sirvió este generador?