Base64

Convierte texto a y desde Base64, incluida una variante segura para URL.

Texto
Base64

La salida aparecerá aquí

Qué es Base64 y por qué existe

Base64 es una forma de representar cualquier dato binario usando solo 64 caracteres imprimibles y sencillos: A–Z, a–z, 0–9 y dos símbolos. Existe porque muchos sistemas se construyeron para transportar texto, no bytes en bruto. Los cuerpos de correo, las URL, las cadenas JSON, los atributos HTML y las cabeceras HTTP pueden corromperse con contenido binario arbitrario, pero dejan pasar sin cambios el texto Base64. Codificar a Base64 hace que los datos binarios sean seguros para incrustarlos en esos canales de solo texto.

El compromiso es el tamaño: Base64 representa cada tres bytes como cuatro caracteres, así que la forma codificada es aproximadamente un 33% más grande que el original. Eso está bien para payloads pequeños como tokens, imágenes pequeñas o claves, y es la razón por la que los archivos grandes rara vez se codifican en Base64 en la práctica.

Es codificación, no cifrado

Esto es lo más importante que hay que entender sobre Base64: no aporta ninguna seguridad. Cualquiera puede decodificar Base64 al instante, incluida esta herramienta. No oculta nada ni protege nada. Si necesitas mantener datos en secreto, cífralos; Base64 solo hace que los datos sean seguros para el transporte, y codificar una contraseña o clave de API no la oculta.

Base64 estándar vs. seguro para URL

Base64 estándar usa + y / como sus dos últimos caracteres y rellena el final con signos =. Esos caracteres tienen un significado especial dentro de las URL y los nombres de archivo, así que una variante segura para URL cambia + y / por - y _ y normalmente elimina el relleno. Usa la opción segura para URL cuando el valor codificado vaya a aparecer en una dirección web, un parámetro de consulta, una cookie o un nombre de archivo. Los JSON Web Tokens, por ejemplo, usan Base64 seguro para URL precisamente por esto.

UTF-8 y texto no ASCII

Las funciones integradas del navegador btoa y atob solo manejan Latin-1 y fallan con caracteres como el hebreo, el árabe, el chino o los emojis. Esta herramienta codifica el texto como UTF-8 primero, así que cualquier carácter va y vuelve correctamente. Eso significa que שלום y 😀 se codifican y decodifican sin corrupción, una fuente común de "mojibake" (texto ilegible) cuando se recurre a las funciones nativas del navegador.

  • Codificar: escribe o pega texto legible y obtén su forma Base64.
  • Decodificar: pega Base64 (estándar o seguro para URL, con o sin relleno) y recupera el texto original.

Preguntas frecuentes

¿Base64 es seguro o está cifrado?
No. Base64 es una codificación reversible, no un cifrado. Cualquiera puede decodificarlo al instante, así que nunca lo uses para proteger contraseñas, claves o datos personales.
¿Admite hebreo, árabe y emojis?
Sí. El texto se codifica como UTF-8 antes de Base64, así que caracteres como שלום y 😀 se codifican y decodifican sin corrupción, a diferencia de la función btoa integrada del navegador.
¿Qué es Base64 seguro para URL?
Reemplaza los caracteres + y / por - y _ y elimina el relleno final, para que el resultado pueda usarse de forma segura dentro de URL, cadenas de consulta, cookies, nombres de archivo y tokens como los JWT.
¿Por qué mi salida decodificada está vacía o es incorrecta?
Normalmente la entrada no es Base64 válido: puede estar truncada, contener caracteres de otro alfabeto o ser en realidad texto plano. La herramienta acepta entrada estándar y segura para URL y tolera el relleno ausente, pero los bytes aún deben ser UTF-8 válido para mostrarse como texto.
¿Por qué la cadena codificada es más larga que el original?
Base64 codifica cada tres bytes como cuatro caracteres, así que la salida es aproximadamente un tercio más grande que la entrada. Esa sobrecarga es inherente al formato.
¿Necesito los caracteres de relleno (=)?
El relleno hace que la longitud sea múltiplo de cuatro y lo exigen los decodificadores estrictos, pero esta herramienta acepta entrada con o sin él. El Base64 seguro para URL suele omitir el relleno.
¿Se envía mi entrada a un servidor?
No. La codificación y la decodificación se ejecutan por completo en tu navegador; nada de lo que pegas sale de tu dispositivo.