Codificar / Decodificar Base64

Convierte texto a Base64 o decodifícalo de vuelta, en vivo mientras escribes. Compatibilidad total con UTF-8, así que las letras acentuadas, los emoji y los alfabetos no latinos se conservan correctamente en ambos sentidos.

Variante segura para URL

Para qué sirve Base64

Texto binario seguro, no cifrado.

Base64 convierte bytes arbitrarios en una cadena que usa solo letras, dígitos, + y /, segura para incrustar en JSON, URLs o correos donde el binario crudo se rompería. No es cifrado: cualquiera puede decodificarlo al instante, así que por sí solo no oculta ni protege nada.

Variante segura para URL

Los caracteres + y / del Base64 estándar tienen significado especial en las URLs. La variante segura para URL los cambia por - y _ y elimina el relleno = final, así el resultado puede ir directo a una cadena de consulta o a un nombre de archivo.

Cómo funciona

Al codificar, tu texto se convierte primero en bytes UTF-8 sin procesar con la API TextEncoder del navegador, y esos bytes se pasan a la función integrada btoa(). Ese primer paso importa: btoa() por sí sola solo maneja caracteres Latin-1 y falla con cualquier otra cosa, así que las herramientas que se saltan ese paso se rompen silenciosamente con emojis, acentos o cualquier alfabeto no latino. Decodificar ejecuta el mismo proceso a la inversa: atob() convierte el Base64 de nuevo en bytes, y TextDecoder los reensambla en texto. El decodificador también es deliberadamente permisivo: recorta espacios en blanco, acepta tanto el alfabeto estándar como el seguro para URL, y vuelve a añadir cualquier relleno = que falte, así que un fragmento copiado directamente de un JWT o una cadena de consulta se decodifica sin necesidad de arreglarlo a mano.

Espera que la salida sea aproximadamente un 33% más grande que la entrada. Base64 usa 64 símbolos, y 64 símbolos solo pueden transportar 6 bits cada uno, así que cada 3 bytes de entrada se convierten en 4 caracteres de salida. Por eso incrustar una imagen de 1 MB como URI de datos Base64 te cuesta aproximadamente 1,37 MB de HTML, y por eso Base64 es un formato de transporte, no de compresión.

Ambas direcciones se ejecutan en el propio JavaScript de esta página en cada pulsación, usando solo btoa, atob, y las APIs de codificación de texto que tu navegador ya incluye. Puedes comprobarlo: abre las herramientas de desarrollador, cambia a la pestaña Red, y escribe lo que quieras. Ninguna petición lleva tu texto a ningún sitio.