¿Qué es Base64 y para qué sirve?
Por QuickyTools · Publicado el
¿Qué es Base64?
Base64 es un esquema de codificación que convierte datos binarios en una cadena de caracteres ASCII imprimibles. Representa datos binarios usando un conjunto de 64 caracteres: las 26 letras mayúsculas (A–Z), 26 letras minúsculas (a–z), 10 dígitos (0–9) y los símbolos + y /. El carácter = se usa para relleno.
El nombre “Base64” hace referencia a este conjunto de 64 caracteres. Cada carácter Base64 representa exactamente 6 bits de datos binarios.
Cómo funciona la codificación
Los datos binarios se procesan en grupos de 3 bytes (24 bits). Cada grupo se divide en cuatro fragmentos de 6 bits, y cada fragmento se mapea a un carácter Base64. Esto significa:
- Cada 3 bytes de entrada se convierten en 4 caracteres Base64
- Los datos codificados en Base64 son ~33% más grandes que el original binario
Si la entrada no es divisible por 3, se añaden caracteres de relleno = al final.
Ejemplo:
Hola→SG9sYQ==
¿Por qué Existe Base64?
Muchos sistemas y protocolos fueron diseñados originalmente para manejar solo texto — no datos binarios arbitrarios. Los protocolos de correo (SMTP), XML, JSON y HTML trabajan con texto. Pero las imágenes, archivos de audio y otros datos binarios necesitan transmitirse junto con texto en estos contextos.
Base64 resuelve esto convirtiendo binario en una representación segura para texto que puede viajar por cualquier sistema basado en texto sin corromperse.
Casos de Uso Comunes
1. Incrustar imágenes en HTML/CSS
En lugar de enlazar a un archivo externo, puedes incrustar una imagen directamente:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUh..." />
background-image: url('data:image/png;base64,iVBORw0K...');
Esto es útil para iconos pequeños o imágenes críticas que no quieres que requieran una petición HTTP separada.
2. Adjuntos de correo electrónico
El estándar MIME usa Base64 para codificar adjuntos de archivos en correos electrónicos. Los datos binarios del archivo se convierten a texto Base64 y se incluyen en el cuerpo del correo, luego son decodificados por el cliente de correo del destinatario.
3. Payloads JSON y API
Las APIs REST y los payloads JSON son basados en texto. Cuando necesitas incluir datos binarios (como una imagen o archivo) en una petición JSON, la codificación Base64 es el enfoque estándar:
{
"archivo": "foto.jpg",
"datos": "iVBORw0KGgoAAAANSUh..."
}
4. Tokens de autenticación
La Autenticación Básica HTTP codifica el nombre de usuario y contraseña en Base64:
Authorization: Basic dXNlcm5hbWU6Y29udHJhc2XDsWE=
Nota: Base64 no es cifrado — es trivialmente reversible. Por eso se requiere HTTPS al usar Autenticación Básica.
5. Data URIs en SVG y Canvas
Al trabajar con la API HTML5 Canvas o generar SVGs programáticamente, exportar a un data URI produce una cadena Base64 que puede asignarse directamente a fuentes de imágenes o enlaces de descarga.
6. Almacenar datos binarios en bases de datos
Algunas bases de datos o configuraciones antiguas solo soportan campos de texto. Los datos binarios (como imágenes de perfil) pueden almacenarse como cadenas Base64 en estos casos.
Base64 NO es Cifrado
Este es un punto crítico: Base64 codifica, no cifra. Cualquiera puede decodificar una cadena Base64 en segundos. Nunca uses Base64 para ocultar información sensible como contraseñas o datos privados. Usa cifrado adecuado (AES, RSA) para ese propósito.
Base64 Seguro para URLs
El Base64 estándar usa los caracteres + y / que tienen significados especiales en URLs. Para URLs y nombres de archivo, una variante llamada Base64url reemplaza + con - y / con _. Muchos sistemas modernos (tokens JWT, por ejemplo) usan esta variante.
Codifica y Decodifica Base64 al Instante
Nuestro Codificador/Decodificador Base64 gratuito maneja tanto texto como archivos, completamente en tu navegador sin enviar datos a ningún servidor.