Codificador y decodificador Base64

Convierte texto y archivos a Base64 y viceversa. Maneja Unicode correctamente, admite base64url (apto para URL) y te dice exactamente por qué falla una entrada no válida.

Funciona en tu navegadorSin registroNo se sube nada

Salida Base64

Cómo usar: Codificar / decodificar Base64

  1. Elige Codificar o Decodificar.
  2. Escribe o pega tu entrada. El resultado se actualiza mientras escribes.
  3. Para URLs, JWTs y nombres de archivo, marca Apto para URL para usar - y _ y, si quieres, omitir el relleno =.
  4. Para incrustar una imagen o fuente, haz clic en Codificar archivo y deja marcada la opción Salida como data URI.
  5. Copia el resultado o usa Intercambiar para procesarlo en la dirección contraria.

Cómo funciona Base64

Base64 representa datos binarios con 64 caracteres ASCII imprimibles: A-Z, a-z, 0-9, + y /. Cada 3 bytes de entrada se convierten en 4 caracteres, por lo que los datos codificados ocupan aproximadamente un 33 % más. Cuando la longitud de la entrada no es múltiplo de 3, uno o dos signos = rellenan la salida. Base64 es una codificación, no un cifrado: cualquiera puede decodificarlo.

Base64 estándar frente a base64url

Los caracteres + y / tienen un significado especial en las URLs y en las rutas de archivo. El alfabeto apto para URL de RFC 4648 §5 los sustituye por - y _ y normalmente omite el relleno. Los JWT, muchos parámetros de OAuth y algunas APIs en la nube usan base64url. El decodificador acepta ambos alfabetos automáticamente.

Unicode y la trampa de btoa()

En los navegadores, btoa("café") funciona, pero btoa("日本") lanza un error, porque btoa solo acepta Latin-1. Lo correcto es convertir primero el texto a bytes UTF-8, que es lo que hace esta herramienta. En JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), o Buffer.from(text).toString('base64') en Node.js.

Usos habituales

  • Data URIs para imágenes y fuentes pequeñas en CSS o HTML
  • Cabeceras de autenticación HTTP Basic (user:password codificado)
  • Adjuntos binarios en payloads JSON y correo electrónico (MIME)
  • Secrets de Kubernetes, que guardan los valores en Base64

Preguntas frecuentes

¿Base64 es un cifrado?
No. Base64 es una codificación reversible sin clave. Cualquiera puede decodificarla, así que nunca la uses para ocultar contraseñas o secretos.
¿Por qué no se decodifica mi Base64?
Las causas más comunes son caracteres fuera del alfabeto (a menudo una comilla o un salto de línea que se coló al copiar), una cadena truncada o texto mezclado que no es Base64. El mensaje de error muestra la posición del primer problema.
La salida decodificada parece basura. ¿Por qué?
Probablemente los datos son binarios (por ejemplo, una imagen, un archivo comprimido o bytes cifrados) y no texto. La herramienta lo detecta, muestra un volcado hexadecimal y te permite descargar los bytes en bruto.
¿Necesito el relleno =?
Muchos decodificadores, incluido este, funcionan sin él porque la longitud indica cuántos bytes faltan. Algunos decodificadores estrictos lo exigen. Los JWT y la mayoría de usos de base64url omiten el relleno.
¿Se suben mis archivos?
No. Los archivos se leen y codifican localmente con la File API del navegador. No se envía nada a ningún servidor.

Herramientas relacionadas