Codificador / decodificador Base64
Cómo funciona
Escribe o pega texto en el área de entrada y pulsa Codificar para convertirlo a Base64, o pega una cadena Base64 y pulsa Decodificar para recuperar el texto original. Admite UTF-8 completo, así que los caracteres con tilde, el texto CJK y los emoji van y vuelven sin perder información.
Base64 representa tres bytes de entrada con cuatro caracteres ASCII tomados de A–Z, a–z, 0–9, + y /. Eso lo hace un 33% más grande que el binario original, pero totalmente seguro para incrustarlo donde se espera texto: cuerpos de correo, cadenas JSON, cabeceras HTTP, URL (con la variante segura para URL) y data URI de PNG/SVG. Cuando la longitud de la entrada no es múltiplo de tres bytes, se añaden uno o dos signos = de relleno para que los decodificadores sepan dónde acaban los datos.
Al codificar, la herramienta convierte primero tu texto en bytes UTF-8 (con TextEncoder) y después codifica esos bytes en Base64. Al decodificar hace el proceso inverso: primero decodifica el Base64 a bytes sin procesar y luego interpreta esos bytes como UTF-8. Ese orden es lo que permite que todo Unicode vaya y vuelva. Si pegas una cadena Base64 que no se decodifica a UTF-8 válido, por ejemplo el Base64 de un binario aleatorio, la herramienta te sigue mostrando los bytes pero los marca como binarios en lugar de adivinar una codificación.
Usos típicos: incrustar una imagen pequeña directamente en una hoja de estilos (background-image: url(data:image/png;base64,…)), pegar un JWT o un token OAuth para inspeccionarlo (el Decodificador de JWT de este sitio lo divide en header y payload) y mover un archivo binario diminuto por un canal solo de texto, como el correo.
Preguntas frecuentes
¿Qué es Base64?
- Base64 es una codificación de binario a texto que representa cada 3 bytes de entrada con 4 caracteres ASCII de A–Z, a–z, 0–9, + y /. Se estandarizó en la RFC 2045 para el correo MIME; hoy aparece siempre que los datos tienen que sobrevivir a un canal solo de texto: API JSON, URL, data URI, certificados en formato PEM y tokens JWT.
¿Admite Unicode?
- Sí. La herramienta codifica primero tu texto en UTF-8 a bytes sin procesar (con el TextEncoder del navegador), luego codifica esos bytes en Base64 y hace lo inverso al decodificar. Así, los caracteres con tilde (àéü), el CJK (你好), los emoji (🚀) y cualquier otro punto de código Unicode van y vuelven perfectamente.
¿Por qué la salida en Base64 es más grande que la entrada?
- Porque Base64 empaqueta cada 3 bytes de entrada en 4 caracteres ASCII, así que la salida codificada es siempre un ~33% mayor que la original. Ese sobrecoste es el precio de ser seguro en contextos que fallarían con bytes arbitrarios (correos, URL, JSON). No es un formato de compresión: si necesitas algo más pequeño, usa gzip, brotli o zstd.
¿Qué significan los signos = del final?
- Son relleno. Base64 trabaja en bloques de 3 bytes, así que cuando la longitud de la entrada no es múltiplo de 3 se añaden uno o dos caracteres = para que cada valor codificado tenga una longitud múltiplo de 4. Los decodificadores usan el número de signos = para deducir la longitud original.
¿Qué diferencia hay entre Base64 y Base64URL?
- Base64URL cambia + por - y / por _, y normalmente elimina el relleno = del final. Existe para URL y nombres de archivo, donde +, / y = ya significan otra cosa. El Base64 estándar es lo que quieres para correo y JSON; Base64URL es el que usan los JWT. Esta herramienta codifica y decodifica Base64 estándar: para obtener la forma segura para URL, cambia + por - y / por _ y quita el relleno = del final.
¿Base64 es una forma de cifrado?
- No, y conviene repetirlo. Base64 es una codificación, no un cifrado. Cualquiera puede decodificarlo en una línea en todos los lenguajes del mundo. Trata el contenido en Base64 como si fuera texto sin formato y no cuentes nunca con él para ocultar un secreto.