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.
Texto
Base64
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
- 1Pega o escribe a la izquierda el texto que quieres codificar.
- 2Activa Seguro para URL si el resultado acabará en una URL, un nombre de archivo o un JWT.
- 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")).