Ejemplo: la herramienta ya está trabajando con una entrada de muestra. Sustitúyela por la tuya y pulsa el botón.

SGVsbG8sIEdlbmVyYXRlUGx1cyE=

Caracteres: 28

Codificar texto a Base64

Escribe o pega un texto y pulsa codificar. El texto se codifica como UTF-8 y los saltos de línea como LF (\n), igual que lo haría una shell de Unix. Marca seguro para URL para obtener base64url (RFC 4648, sección 5) y desmarca relleno para omitir los = finales, como hacen los JSON Web Tokens y muchos parámetros de URL.

La codificación Base64 en resumen

Base64 convierte bytes en texto que atraviesa cualquier sistema que solo maneja ASCII imprimible: cuerpos de correo, cadenas JSON, atributos HTML, cabeceras HTTP. Cada 3 bytes se convierten en 4 caracteres, así que el texto codificado es aproximadamente un 33 por ciento más largo que la entrada. Si la longitud de la entrada no es múltiplo de tres, uno o dos = completan el resultado hasta un múltiplo de cuatro caracteres.

Ejemplos

  • Hello se convierte en SGVsbG8=.
  • user:pass se convierte en dXNlcjpwYXNz, la forma en que la autenticación HTTP Basic envía las credenciales: Authorization: Basic dXNlcjpwYXNz.
  • <<???>> se convierte en PDw/Pz8+Pg== con el alfabeto estándar y en PDw_Pz8-Pg en la forma segura para URL sin relleno.

¿Estándar o seguro para URL?

El alfabeto estándar usa + y /, que tienen un significado propio en URLs y nombres de archivo. Base64url los sustituye por - y _ y normalmente omite el relleno. Úsalo para valores en URLs, nombres de archivo y JSON Web Tokens; usa el alfabeto estándar para MIME, data URIs y la mayoría de las APIs.

Codificar no es cifrar

Cualquiera puede decodificar Base64; no oculta nada. Para leer un valor codificado, usa el decodificador Base64. Si necesitas claves aleatorias en lugar de tu propio texto, el generador Base64 las crea a partir de bytes aleatorios seguros.

Herramientas Base64, URL y JWT

Preguntas frecuentes

¿Qué codificación de caracteres se usa para el texto?
UTF-8. Los saltos de línea se codifican como LF, igual que en una shell de Unix, así que el resultado coincide con el de printf y base64 en Linux o macOS.
¿Qué diferencia hay entre Base64 y base64url?
Base64url usa - y _ en lugar de + y /, para que el resultado pueda ir sin cambios en una URL o un nombre de archivo. Los JSON Web Tokens usan base64url sin relleno.
¿Necesito el relleno =?
Depende de quién lo reciba. MIME y la mayoría de las bibliotecas lo esperan; los JWT y muchos parámetros de URL lo omiten. Un decodificador que conoce la longitud puede prescindir de él.