Codificador y Decodificador Base32

Base32 representa datos binarios usando 32 caracteres: los diez dígitos 2-7 y las 26 letras mayúsculas, sin 0/O ni 1/I para evitar errores de lectura. Esto lo hace ideal para cualquier cosa que un humano tenga que escribir o leer en voz alta: secretos TOTP de dos factores, códigos de vales, identificadores insensibles a mayúsculas. Esta herramienta codifica texto a Base32 y lo decodifica de nuevo, siguiendo la RFC 4648 con relleno = estándar.

Cómo codificar o decodificar Base32

  1. 1

    Pega el texto a convertir

    La entrada se trata como bytes. UTF-8 es la interpretación predeterminada para la entrada de texto.

  2. 2

    Elige dirección

    Codifica para convertir bytes en crudo en una cadena Base32; decodifica para recuperar los bytes.

  3. 3

    Ten en cuenta el comportamiento del relleno

    La RFC 4648 rellena la salida codificada con `=` hasta un múltiplo de 8 caracteres. El decodificador acepta tanto entradas con relleno como sin él.

  4. 4

    Copia el resultado

    La salida codificada es en mayúsculas, rellenada con `=` hasta un múltiplo de 8 caracteres.

El alfabeto RFC 4648

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2 3 4 5 6 7

Sin 0, sin 1, sin 8, sin 9. Cada carácter codifica 5 bits (2^5 = 32), así que 5 bytes de entrada se convierten en 8 caracteres de salida.

Ejemplo práctico

Codificando la cadena ASCII foo (bytes 0x66 0x6F 0x6F = 01100110 01101111 01101111):

  1. Divide en grupos de 5 bits: 01100 11001 10111 10110 1111 (último grupo con relleno)
  2. Mapea al alfabeto: M Z X W 6
  3. Añade relleno === para alcanzar 8 caracteres: MZXW6===

Reglas de relleno y longitud

Bytes de entrada Longitud de salida Relleno
1 8 ======
2 8 ====
3 8 ===
4 8 =
5 8 (ninguno)

Variantes más allá de RFC 4648

  • Base32 Hex, Alfabeto 0-9A-V, usado por NSEC3 en DNSSEC.
  • Base32 de Crockford, Alfabeto optimizado para escritura humana; sustituye O0, I/L1 al decodificar. Usado por ULIDs y algunas claves de licencia.

Esta herramienta implementa únicamente la RFC 4648 estándar; usa un conversor dedicado para las variantes anteriores.

Secretos TOTP

El formato URI otpauth:// utilizado por Google Authenticator y cada aplicación moderna de 2FA codifica el secreto compartido en Base32 sin relleno. Cuando escaneas un QR para “Mi Servicio”, el parámetro secret= es una cadena Base32. Decodifícalo con esta herramienta para inspeccionar los bytes en bruto que utiliza el HMAC.

Preguntas frecuentes

Base32 es insensible a mayúsculas y evita caracteres similares, lo cual es importante para cualquier cosa que un humano lea o escriba. Base64 es más denso (menos caracteres para los mismos bytes) pero requiere que distingas I de l y 0 de O, lo que falla en la escritura a mano y en letra pequeña.

La RFC 4648 especifica el relleno para la codificación. Esta herramienta rellena siempre su salida codificada con = hasta un múltiplo de 8 caracteres. La mayoría de los consumidores en el mundo real (aplicaciones TOTP, bibliotecas ULID, resolutores DNSSEC) aceptan entrada sin relleno, y el decodificador acepta aquí ambas formas, con y sin relleno.

El Base32 estándar no tiene 0, 1, 8 o 9 y siempre es en mayúsculas. El decodificador ignora silenciosamente cualquier carácter fuera del alfabeto RFC 4648, así que una entrada en minúsculas o con caracteres raros se decodifica a bytes incorrectos. Normaliza la entrada a letras mayúsculas A-Z y dígitos 2-7 antes de decodificar.

Sí, el texto viaja al servidor de la página para que se calcule el resultado, y en la vista de varios pasos el mismo texto también se incluye en el enlace del paso. No se almacena ni se registra.

Herramientas relacionadas

Herramienta disponible en otros idiomas