Qué es la codificación Base64 y cuándo usarla
Si trabajas con API, sistemas de correo o desarrollo web, te has encontrado con Base64 — incluso sin reconocerlo. Esas largas cadenas de letras y cifras que parecen galimatías, probablemente son Base64.
Lo que hace Base64
Base64 convierte datos binarios (cualquier secuencia de bytes) en una cadena de texto que solo usa 64 caracteres «seguros»: A-Z, a-z, 0-9, + y /. El resultado siempre termina con un relleno = si es necesario.
Ejemplo:
- Texto:
Hello World - Base64:
SGVsbG8gV29ybGQ=
Esta codificación existe porque muchos sistemas (correo, JSON, URL, XML) solo gestionan texto. Los datos binarios — imágenes, archivos comprimidos, bytes en bruto — pueden contener caracteres que rompen esos sistemas. Base64 convierte el binario en texto que atraviesa cualquier canal textual sin corromperse.
Usos habituales
Integrar imágenes en HTML/CSS:
<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />
Los iconos y logos pequeños pueden integrarse directamente en tu HTML, eliminando una petición HTTP adicional.
Cargas útiles de API: cuando una API espera JSON pero hay que incluir binario (una subida de archivo, una imagen de firma), codificarlo en Base64 permite incluirlo como un campo de texto ordinario.
Adjuntos de correo: los protocolos de correo (SMTP) son textuales. Cada adjunto se codifica en Base64 entre bastidores para viajar como texto.
Encabezados de autenticación: la autenticación HTTP Basic codifica usuario:contraseña en Base64 en el encabezado Authorization. (Es codificación, no cifrado — no aporta ninguna seguridad por sí misma.)
Cómo codificar y decodificar
- Elige codificar o decodificar — selecciona el sentido de la conversión.
- Pega texto o importa un archivo — introduce texto directamente o arrastra y suelta un archivo (hasta 5 MB).
- Copia el resultado — la salida se actualiza al instante. Cópiala al portapapeles.
Cuándo usar Base64
Úsalo cuando:
- Necesites integrar una imagen pequeña (menos de 5 KB) directamente en HTML o CSS
- Una API exija datos binarios en forma de cadena de texto
- Necesites hacer transitar binario a través de un sistema que solo admita texto
No lo uses cuando:
- El archivo sea grande — Base64 añade un 33 % de sobrecarga e impide la puesta en caché
- Necesites seguridad — Base64 no es cifrado
- Puedas servir el archivo normalmente — un
<img src="photo.jpg">clásico es más eficiente que una Data URL Base64 para cualquier cosa que supere unos pocos KB
Consejos
- Solo archivos pequeños — el aumento del 33 % cuenta. Una imagen de 100 KB pasa a 133 KB en Base64, y el navegador no puede cachearla por separado.
- No confundas codificación y cifrado — Base64 es totalmente reversible por cualquiera. No aporta ninguna seguridad. Úsalo para transportar datos, no para protegerlos.
- Atención a los saltos de línea — algunas implementaciones de Base64 añaden un salto de línea cada 76 caracteres (según el estándar MIME). Si pegas Base64 en JSON o en una URL, asegúrate de que quede en una sola línea.
Preguntas frecuentes
¿Base64 cifra mis datos?
No. Base64 es una codificación, no un cifrado. Cualquiera puede decodificar una cadena Base64 — no aporta ninguna seguridad. Si quieres proteger datos, usa un cifrado real (AES, RSA, etc.).
¿Por qué Base64 hace los archivos más pesados?
La codificación Base64 aumenta el tamaño de los datos en cerca del 33 %. Tres bytes binarios pasan a ser cuatro caracteres Base64. Esa sobrecarga es el precio a pagar para transmitir binario con seguridad como texto.
¿Puedo codificar archivos, no solo texto?
Sí. Cualquier archivo (imágenes, PDF, audio) puede codificarse en Base64. Es habitual para integrar imágenes pequeñas directamente en HTML o CSS en forma de Data URL.
¿Cuándo NO usar Base64?
No lo uses para archivos grandes. Una imagen de 1 MB pasa a 1,33 MB en texto Base64, y el navegador no puede cachearla por separado. Para cualquier cosa que supere unos pocos KB, servir el archivo normalmente es más eficiente.