Base64 aparece por todas partes en desarrollo: en imágenes embebidas, en tokens, en cabeceras HTTP, en correos. Pero mucha gente lo confunde con cifrado o no sabe para qué sirve realmente. Esta guía lo aclara con ejemplos prácticos.
Qué es Base64
Base64 es un sistema de codificación que convierte datos binarios (o texto) en una cadena de solo 64 caracteres ASCII seguros: A-Z, a-z, 0-9, + y /. Su objetivo es representar datos que podrían "romperse" al viajar por sistemas pensados solo para texto.
Por ejemplo, el texto Hola se convierte en SG9sYQ==.
Base64 NO es cifrado
Este es el malentendido más importante: Base64 no protege nada. Es reversible por cualquiera, sin clave. Si codificas una contraseña en Base64, cualquiera puede decodificarla al instante. Base64 sirve para transportar datos, no para ocultarlos.
Si necesitas proteger información, necesitas cifrado (como AES), no Base64.
Cómo funciona (la idea)
Base64 agrupa los datos en bloques de 3 bytes (24 bits) y los divide en 4 grupos de 6 bits. Cada grupo de 6 bits (que va de 0 a 63) se mapea a uno de los 64 caracteres. Por eso el resultado es un 33% más grande que el original: convierte 3 bytes en 4 caracteres.
El signo = al final es padding (relleno) para completar cuando los datos no son múltiplo de 3 bytes.
Para qué se usa Base64
1. Imágenes embebidas (data URIs)
Puedes incrustar una imagen directamente en HTML o CSS sin un archivo aparte:
<img src="data:image/png;base64,iVBORw0KGgo..." />
Útil para iconos pequeños: ahorra una petición HTTP. Para imágenes grandes no compensa (el +33% de peso).
2. Enviar datos binarios por canales de texto
Correos (adjuntos), JSON (que no admite binario), algunas cabeceras HTTP… todos usan Base64 para meter binario donde solo cabe texto.
3. Tokens y credenciales codificadas
La autenticación básica HTTP codifica usuario:contraseña en Base64 (por eso necesita HTTPS: Base64 no es seguro por sí mismo). Los JWT también usan Base64URL para sus partes.
Base64 vs Base64URL
Hay una variante, Base64URL, que sustituye los caracteres + y / (problemáticos en URLs) por - y _, y suele omitir el padding =. Se usa en JWT y en parámetros de URL. Si un Base64 normal te da error en una URL, prueba la variante URL-safe.
Cómo codificar y decodificar Base64
- Pega tu texto o sube un archivo.
- Elige codificar o decodificar.
- Obtienes el resultado al instante.
Puedes hacerlo gratis con el codificador Base64 de esta web, que procesa todo en tu navegador.
Preguntas frecuentes
¿Base64 es seguro? No. Es codificación reversible, no cifrado. No lo uses para proteger datos.
¿Por qué mi cadena Base64 termina en = o ==? Es el padding. Indica cuántos bytes se rellenaron para completar el último bloque.
¿Por qué el resultado pesa más que el original? Base64 añade un ~33% de tamaño. Es el coste de representar binario como texto.
¿Se suben mis datos al codificar? No, si usas una herramienta local. Todo ocurre en tu navegador.
Codifica y decodifica texto e imágenes al instante con el codificador Base64 gratis, 100% en tu navegador y sin subir nada.