Codificar y Decodificar Base64
Codifica y decodifica Base64 online con soporte UTF-8 correcto (ñ, ç, acentos y emoji), variante URL-safe y archivos. Todo en tu navegador, sin subir nada.
¿Qué es Base64?
Base64 es un sistema de codificación que representa datos binarios usando solo 64 caracteres de texto imprimible (A–Z, a–z, 0–9, + y /), para poder transportarlos por canales que solo aceptan texto.
La idea es sencilla: se agrupan los bytes de tres en tres (24 bits) y se reparten en cuatro grupos de 6 bits, cada uno de los cuales se traduce a uno de esos 64 caracteres. Por ejemplo, la palabra «Man» (bytes 77, 97, 110) se convierte en «TWFu». Cuando los bytes no son múltiplo de tres, se añade el relleno «=».
Base64 no comprime ni protege nada; de hecho, ocupa un 33% más que el original. Su valor está en que un dato binario (una imagen, un archivo) se puede meter dentro de un texto, un correo, un JSON o una URL sin que se corrompa.
Base64 NO es cifrado
Es un error muy común pensar que «codificar en Base64» oculta o protege la información. No es así: no hay ningún secreto, solo una forma distinta de escribir los mismos datos. Por eso nunca debes usar Base64 para guardar contraseñas, tokens privados o datos sensibles creyendo que están seguros.
La confusión aparece a menudo con los tokens JWT, cuyas partes están en Base64 URL-safe: se leen sin problema, no están cifradas. Si necesitas seguridad real, usa cifrado (AES, RSA) o funciones hash, no Base64.
UTF-8, acentos y emojis
Aquí es donde fallan muchas herramientas. La función btoa() del navegador solo entiende caracteres Latin-1, así que se rompe o corrompe el resultado en cuanto aparece una ñ, una ç, una tilde o un emoji.
Esta herramienta convierte primero el texto a bytes UTF-8 con TextEncoder y luego a Base64, de modo que cualquier carácter (español, portugués, chino, emoji) se codifica y se recupera exacto. Si trabajas con datos antiguos que usan Latin-1 (ISO-8859-1), puedes elegir esa codificación en las opciones.
Base64 URL-safe (base64url)
El Base64 estándar usa los caracteres «+» y «/», que tienen un significado especial en las URLs y en los nombres de archivo. La variante URL-safe (base64url, RFC 4648) los sustituye por «-» y «_» y elimina el relleno «=», para que el resultado se pueda pegar en una dirección web sin romperla.
Es el formato que usan las partes de un token JWT. Activa la casilla «URL-safe» para generarlo; al decodificar, la herramienta acepta automáticamente tanto el estándar como el URL-safe, así que no tienes que preocuparte por cuál te han pasado.
Para qué se usa Base64
- Data URI: incrustar una imagen directamente en el CSS o el HTML (
data:image/png;base64,…) para evitar una petición extra. - Autenticación básica (Basic Auth): el usuario y la contraseña se envían en Base64 en la cabecera HTTP (por eso conviene usar siempre HTTPS).
- Correo y MIME: los adjuntos de un email viajan en Base64.
- Tokens JWT: la cabecera y el cuerpo son Base64 URL-safe.
- APIs y JSON/XML: guardar datos binarios dentro de un texto sin que se corrompan.
Si trabajas con otras codificaciones, tienes también nuestro conversor de texto a binario el traductor de código morse y el codificador de URL.
Preguntas frecuentes
¿Base64 es un cifrado o encripta mi texto?
¿Funciona con ñ, acentos y emojis?
¿Qué es el Base64 URL-safe (base64url)?
¿Se sube mi texto o mi archivo a algún servidor?
¿Puedo convertir una imagen a Base64?
¿Por qué me da error al decodificar?
Herramientas relacionadas
Texto a Binario
Convierte texto a binario y viceversa (UTF-8).
Traductor de Código Morse
Traduce texto a morse con sonido.
Generador de Slug
Crea URLs limpias a partir de un texto.
Limpiar Texto
Quita formato y caracteres invisibles.
Contador de Caracteres
Cuenta caracteres y bytes de tu texto.
Buscar y Reemplazar
Reemplaza texto con soporte de regex.