Cómo hacerlo

Cómo entender y decodificar Base64

6 min de lectura

Una guía práctica para reconocer Base64, decodificarlo a bytes o texto, entender el relleno y no confundirlo con cifrado.

Base64 en una frase

Base64 es una codificación de binario a texto: representa bytes arbitrarios con un alfabeto de 64 caracteres. Sirve cuando los datos deben pasar por sistemas que esperan texto, como JSON, correo, cabeceras HTTP, Data URIs y algunos tokens.

No es cifrado. Una cadena Base64 se puede decodificar sin contraseña, así que no debe usarse para proteger secretos.

Cómo reconocer un candidato Base64

El Base64 estándar usa letras mayúsculas, minúsculas, dígitos, +, / y relleno opcional =. La longitud suele ser múltiplo de cuatro si se ignoran espacios y saltos de línea.

La variante segura para URL, Base64URL, suele usar - y _ en lugar de + y /. La apariencia solo orienta: la prueba fiable es decodificar e inspeccionar el resultado.

Decodifica en un orden seguro

Primero conserva una copia de la cadena original. Elimina espacios inocuos, comprueba alfabeto y relleno, y decodifica a bytes. Después interpreta esos bytes como texto UTF-8, JSON, imagen, certificado, datos comprimidos u otro formato.

Si la salida no es legible, puede seguir siendo Base64 válido. Quizá represente datos binarios, bytes comprimidos o contenido cifrado que requiere otro paso.

Qué ocurre dentro de la codificación

Base64 agrupa los bytes de entrada de tres en tres. Esos 24 bits se dividen en cuatro valores de 6 bits, y cada valor elige un carácter del alfabeto Base64. La palabra Man se convierte en TWFu.

Como ejemplo comprobado, Hello, Morse! se codifica como SGVsbG8sIE1vcnNlIQ== y se decodifica de nuevo al mismo texto UTF-8.

Relleno y Unicode

Cuando la longitud de entrada no es divisible por tres, Base64 añade relleno. Un byte sobrante produce dos =; dos bytes sobrantes producen un =. El relleno indica al decodificador cuántos bytes recuperar del último grupo.

Base64 codifica bytes, no caracteres abstractos. Un texto como Café ☕ primero se convierte a bytes UTF-8; esos bytes se codifican como Q2Fmw6kg4piV.

Usos comunes y límites de seguridad

Base64 aparece en APIs, campos JSON, adjuntos de correo, cabeceras Basic Auth, partes de JWT, imágenes Data URI, certificados y archivos de configuración. En todos los casos resuelve transporte: hacer que bytes viajen por canales de texto.

No llames “descifrado” a Base64 ni guardes contraseñas, claves de API o datos personales solo en Base64. Si necesitas confidencialidad, usa cifrado real antes de cualquier codificación de transporte.

Preguntas frecuentes

Los caracteres = son relleno. Completan el último grupo de 4 caracteres cuando la longitud original en bytes no era múltiplo de tres.

Sí. Base64 puede transportar bytes cifrados, pero Base64 solo es la representación externa. Decodificar quita la envoltura de texto; no descifra el contenido.

Cada 3 bytes de entrada se convierten en 4 caracteres de texto, por eso la forma codificada crece alrededor de un tercio antes de saltos de línea u otro formato.

Véase también