Base64 y codificación URL en pocas palabras
Muchos sistemas solo pueden transportar texto plano de forma segura: cabeceras HTTP, campos JSON, cuerpos de correo o
query strings. Base64 lo resuelve representando cualquier dato binario – una imagen, un certificado, un
payload comprimido – con 64 caracteres imprimibles, a cambio de aproximadamente un 33% más de tamaño. La
codificación URL (percent-encoding, RFC 3986) sustituye los caracteres que tienen un significado
especial en una URL, como los espacios, & o ?, por secuencias como %20, para que
los valores viajen por enlaces y formularios sin romperlos. Esta herramienta codifica y decodifica ambos formatos, con
soporte completo de UTF-8 para acentos, emojis y cualquier otro alfabeto.
Las opciones, explicadas
- Seguro para URL (base64url) cambia
+y/por-y_. Es la variante que usan los JWT y muchas APIs porque se puede incluir en URLs y nombres de archivo. - Sin relleno elimina los caracteres
=finales. Al decodificar, ambos alfabetos, los saltos de línea y la falta de relleno se detectan automáticamente. - URL completa codifica una dirección entera conservando su estructura (
:,/,?,&…). Desactívala para codificar el valor de un único parámetro. - Espacios como + sigue la convención de los formularios HTML
(
application/x-www-form-urlencoded).
Archivos y datos binarios
Elige Codificar un archivo para convertir cualquier archivo en Base64 o en un data: URI que
puedes incrustar en HTML o CSS. Cuando decodificas Base64 que no es texto, la herramienta detecta el tipo de archivo
(PNG, JPEG, PDF, ZIP…), muestra una vista previa y un volcado hexadecimal, y te permite descargar el archivo original.
Todo se ejecuta en tu navegador: los archivos y el texto nunca se suben.
Ejemplos prácticos
Autenticación HTTP Basic
La cabecera Authorization: Basic dXNlcjpzZWNyZXQ= no es más que user:secret codificado en Base64,
por eso la autenticación Basic debe viajar siempre por HTTPS. Decodifícala aquí para revisar las credenciales que envía
tu cliente.
Equivalentes en la línea de comandos
$ printf 'hello' | base64 # aGVsbG8=
$ echo 'aGVsbG8=' | base64 -d # hello
$ python3 -c "import urllib.parse as u; print(u.quote('a b&c'))" # a%20b%26c
Codificar no es cifrar
Base64 y la codificación URL solo cambian la representación de los datos; cualquiera puede revertirlas al instante. Nunca confíes en ellas para ocultar contraseñas, tokens o datos personales.