{ }JSONKit.tools

Codificar Base64 Online

Convierte cualquier texto a Base64, emojis y alfabetos no latinos incluidos. Activa Seguro para URL cuando el resultado tenga que viajar dentro de una URL o de un JWT.

Codificar⇄Decodificar

Texto

Base64

Esperando la entrada…

Sobre esta herramienta

Base64 existe para llevar bytes arbitrarios por canales que solo aceptan texto: una cabecera HTTP, un data URI, el cuerpo de un correo, una cadena JSON. Este codificador convierte primero tu entrada a UTF-8, que es lo que hace que el texto no latino y los emojis vuelvan intactos: el propio btoa() del navegador los rechaza de plano. El interruptor Seguro para URL sustituye + y / por - y _ y descarta el relleno =, la variante que usan los JWT y los parámetros de URL.

Cómo se usa

  1. 1Pega o escribe a la izquierda el texto que quieres codificar.
  2. 2Activa Seguro para URL si el resultado acabará en una URL, un nombre de archivo o un JWT.
  3. 3Pulsa Copiar: decodificarlo de vuelta está a un clic en la página Decodificar Base64.

Preguntas frecuentes

›¿Por qué Base64 hace más grandes mis datos?

Codifica cada 3 bytes como 4 caracteres imprimibles, así que la salida es un 33 % mayor aproximadamente. Ese es el precio de mover datos binarios por un canal que solo acepta texto.

›¿Qué es el Base64 seguro para URL?

El alfabeto estándar usa + y /, que tienen su propio significado en una URL, y el relleno =, que necesita escaparse. La variante segura para URL los cambia por - y _ y elimina el relleno, de modo que el resultado se puede meter tal cual en una ruta o en una cadena de consulta. Los JWT usan exactamente esta variante.

›¿Maneja emojis y texto no latino?

Sí. El texto se codifica primero como UTF-8, así que el cirílico, el chino y los emojis sobreviven intactos. El ingenuo btoa(texto) del navegador lanza un error con cualquier carácter por encima de U+00FF.

›¿Base64 es cifrado?

No, y esto importa. Es una codificación, no un cifrado: cualquiera puede decodificarlo al instante, sin ninguna clave. Nunca lo uses para ocultar una contraseña o un token.

›¿Cómo hago esto desde la línea de comandos?

En macOS y Linux: printf %s "texto" | base64. Para decodificar, añade la opción -d. En PowerShell de Windows hace falta [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("texto")).