Base64: codificación, no cifrado — y esa diferencia importa mucho
Cualquiera que vea SGVsbG8= puede decodificarlo al instante. Base64 no oculta información, la transforma para que pueda viajar por canales que solo admiten texto ASCII. Entender cuándo usarlo y cuándo no evita errores de seguridad serios.
Qué es Base64
Base64 convierte cualquier dato binario o texto en una cadena de caracteres ASCII usando un alfabeto de 64 símbolos (A–Z, a–z, 0–9, + y /). Cada 3 bytes de datos originales se convierten en 4 caracteres Base64, lo que aumenta el tamaño aproximadamente un 33%. La operación es completamente reversible: codificar y decodificar son dos caras de la misma moneda.
¿Para qué sirve en la práctica?
Para transmitir datos en contextos que solo aceptan texto: cabeceras HTTP (autenticación Basic), tokens JWT (el payload viaja en Base64url), imágenes incrustadas en HTML o CSS como data URIs, y adjuntos de email en formato MIME. Si alguna vez has visto una URL larga con letras, números y signos de igual al final, era probablemente Base64.
Cómo codificar y decodificar Base64
Elige el modo
Selecciona «Codificar» para convertir texto a Base64, o «Decodificar» para recuperar el texto original desde una cadena Base64.
Pega o escribe el contenido
El resultado aparece en tiempo real en el panel derecho. Todo ocurre en el navegador, sin enviar datos a ningún servidor externo.
Copia el resultado
Usa el botón de copia para llevar la cadena codificada o decodificada al portapapeles y usarla en tu proyecto.
Dónde aparece Base64 en el desarrollo real
Autenticación HTTP Basic
El encabezado Authorization: Basic codifica en Base64 el par usuario:contraseña. No es seguro sin HTTPS porque cualquiera puede decodificarlo.
Tokens JWT
El header y el payload de un JWT viajan codificados en Base64url (una variante que cambia + y / por - y _ para ser compatible con URLs). La firma sí es criptográfica, pero el payload es legible.
Data URIs en HTML y CSS
Incrustar imágenes pequeñas o iconos directamente en el código HTML evita peticiones HTTP adicionales. El formato es data:image/png;base64,....
Adjuntos de email (MIME)
El protocolo SMTP solo transmite texto ASCII. Los archivos adjuntos se codifican en Base64 antes de enviarse y se decodifican en el cliente de correo del destinatario.
Variables de entorno con datos binarios
Almacenar certificados, claves privadas o archivos de configuración binarios en variables de entorno requiere codificarlos en Base64 para evitar problemas con saltos de línea y caracteres especiales.
Depuración de APIs y logs
Cuando ves datos codificados en logs de APIs o en cabeceras de peticiones HTTP, decodificarlos revela inmediatamente qué información está viajando en cada campo.
Base64 vs Base64url vs otras codificaciones
| Formato | Alfabeto | Padding | Uso principal |
|---|---|---|---|
| Base64 estándar | A–Z, a–z, 0–9, +, / | Sí (signo =) | Email MIME, datos en HTML |
| Base64url | A–Z, a–z, 0–9, -, _ | Opcional | JWT, URLs seguras |
| Hex (Base16) | 0–9, a–f | No | Hashes, colores CSS |
| Base32 | A–Z, 2–7 | Sí (signo =) | Códigos TOTP, QR |
| ASCII plano | 128 caracteres | No aplica | Solo texto, no binario |
Errores comunes y cuándo NO usar Base64
Confusiones peligrosas
- Base64 no es cifrado: cualquiera puede decodificarlo sin clave ni contraseña
- No uses Base64 para «ocultar» contraseñas o datos sensibles en el frontend
- Los data URIs de imágenes grandes en Base64 aumentan el tiempo de carga del HTML
- Base64 en URLs requiere codificar los = y + para evitar conflictos: usa Base64url en su lugar
Cuándo Base64 es la elección correcta
- Incrustar iconos SVG o imágenes pequeñas en CSS para reducir peticiones HTTP
- Pasar datos binarios en campos JSON que solo admiten strings
- Almacenar certificados o claves en variables de entorno de plataformas como Heroku o Vercel
- Decodificar el payload de un JWT para inspeccionar sus claims durante la depuración
¿Por qué usar este codificador Base64?
Explora todas las herramientas de desarrollo y codificación: JSON formatter, MD5, UUID y más. Si necesitas transformar el formato de texto antes de codificarlo, prueba nuestras herramientas de conversión de texto.
Preguntas frecuentes
data:image/png;base64,...) permiten incrustar imágenes directamente en HTML o CSS sin ficheros externos. Son útiles para iconos pequeños o logos que se quieren cargar en el HTML sin petición HTTP adicional.= es un padding (relleno). Base64 trabaja en bloques de 3 bytes. Si el input no es múltiplo de 3, se añaden uno o dos caracteres = al final para completar el último bloque. Es totalmente normal y esperado.