En este artículo
¿Qué es Base64?
Base64 es un esquema de codificación que convierte datos binarios en una cadena de caracteres ASCII. Utiliza 64 caracteres seguros (A-Z, a-z, 0-9, +, /) para representar cualquier dato binario, lo que lo hace seguro para la transmisión a través de protocolos basados en texto como cabeceras HTTP, correo electrónico (MIME) y JSON.
Base64 no es cifrado, es codificación. Cualquier persona puede decodificar Base64 para obtener los datos originales sin necesidad de ninguna clave. El propósito de Base64 es permitir que los datos binarios pasen por sistemas diseñados para texto, no proporcionar seguridad.
Cómo funciona la codificación Base64
Base64 convierte cada grupo de 3 bytes (24 bits) en 4 caracteres Base64 (6 bits cada uno), añadiendo caracteres = de relleno si la entrada no es divisible por 3.
- Agrupación de bytes — los bytes de entrada se agrupan en conjuntos de 3 y se convierten en 4 caracteres de salida
- Mapeo de caracteres — cada grupo de 6 bits se mapea a uno de los 64 caracteres ASCII imprimibles
- Relleno — se añaden caracteres = para garantizar que la longitud de la salida sea siempre múltiplo de 4
Pruébalo gratis — sin registro
Codificar o decodificar en Base64 →Cuándo usar Base64
Base64 se usa siempre que los datos binarios necesitan insertarse en formatos basados en texto.
- Adjuntos de correo — la codificación MIME utiliza Base64 para adjuntar archivos binarios a los mensajes de correo
- URIs de datos — incrusta imágenes directamente en HTML/CSS como data:image/png;base64,... para evitar peticiones HTTP
- Autenticación en APIs — las credenciales de Basic Auth se codifican en Base64 en la cabecera HTTP de Authorization
Preguntas frecuentes
¿Base64 aumenta el tamaño de los datos?
Sí. La codificación Base64 incrementa el tamaño aproximadamente un 33%, ya que cada 3 bytes de entrada producen 4 bytes de salida. Este es el coste inherente de hacer que los datos binarios sean seguros para texto.
¿Cuál es la diferencia entre Base64 estándar y Base64 seguro para URLs?
El Base64 estándar usa + y /, que tienen significados especiales en las URLs. El Base64 seguro para URLs (Base64url) reemplaza + por - y / por _ para producir cadenas que pueden usarse en URLs y nombres de archivo sin codificación porcentual. Los JWT utilizan codificación Base64url.
¿Cómo gestiono Base64 con datos que no son UTF-8?
Base64 trabaja con bytes sin procesar, no con texto. Al codificar datos binarios como imágenes o contenido cifrado, trátalo como un array de bytes en lugar de una cadena. En JavaScript usa Uint8Array o Buffer; en Python usa objetos bytes para evitar problemas de codificación con datos que no son UTF-8.