Base64 es una codificación, no un cifrado, y esa confusión ya ha «protegido» contraseñas que cualquiera podía leer en dos segundos. Base64 convierte bytes arbitrarios en un texto de 64 caracteres inofensivos para que los datos binarios pasen por donde solo se admite texto. Esta guía explica cómo funciona, dónde lo ves a diario y cuándo es la herramienta equivocada.
Cómo funciona Base64
Tres bytes (24 bits) se dividen en cuatro grupos de 6 bits; cada grupo da un carácter del alfabeto A–Z, a–z, 0–9, + y /. Si al final quedan menos de tres bytes, se rellena con =. «Hi» pasa a SGk=; «Hola» a SG9sYQ==. Como 3 bytes se convierten en 4 caracteres, cada archivo crece un 33 %: el precio de caber en JSON, XML o el texto de un correo.
Dónde te encuentras Base64
- Adjuntos de correo: SMTP solo transmite texto; todo adjunto es Base64.
- Data URI:
<img src="data:image/png;base64,iVBOR…">incrusta imágenes pequeñas directamente en HTML o CSS: sin petición extra, pero con un 33 % más de bytes y sin caché. - Tokens JWT: cabecera y payload son Base64url, legibles para cualquiera que tenga el token. Por eso no deben contener secretos.
- API y Basic Auth:
Authorization: Basic dXNlcjpwYXNzes usuario:contraseña en Base64; solo es seguro por HTTPS. - Archivos de configuración: certificados, secretos de Kubernetes, datos del portapapeles.
El codificador Base64 codifica y decodifica texto y archivos en el navegador, con UTF-8 seguro, y genera Data URI listos.
Base64 frente a Base64url
El Base64 estándar contiene +, / y =, que tienen significado especial en las URL. Base64url los sustituye por - y _ y omite el relleno. JWT, estados OAuth y nombres de archivo usan Base64url; quien decodifica con la variante equivocada obtiene basura o errores.
Por qué Base64 no es cifrado
No hay clave. Cualquiera puede decodificar Base64 con cualquier herramienta y en cualquier lenguaje. Una contraseña en Base64 es una contraseña en texto claro con un rodeo. Para confidencialidad hace falta cifrado (AES, RSA); Base64 viene después, para que el resultado cifrado sea transportable.
Preguntas frecuentes
¿Por qué las tildes salen rotas al decodificar?
El texto se codificó como Latin-1 y se decodificó como UTF-8, o al revés. Usa UTF-8 en ambos lados.
¿Cuándo incrustar imágenes como Data URI?
Solo por debajo de unos 2 KB (iconos, sprites). Lo demás, como archivo: el 33 % extra y la falta de caché cuestan más que la petición ahorrada.
¿Cómo reconozco Base64?
Solo A–Z, a–z, 0–9, + y /, longitud múltiplo de 4 y de cero a dos = al final.
Gratis, funciona en tu navegador, no se sube nada, sin registro.
Sigue leyendo
Más de Herramientas para desarrolladores.


