Decodificador Base64

Decodifica Base64 de vuelta a texto directamente en tu navegador, manejo correcto de UTF-8 y soporte URL-safe/sin relleno, resultados instantáneos y privados.

🌐 English

🔒 Privado por diseño: tu texto se procesa localmente en tu navegador; nada se sube nunca a ningún servidor.

Cómo decodificar Base64 a texto

  1. Pega la cadena Base64 que quieres decodificar en el recuadro de arriba, estándar o URL-safe, con relleno o sin él.
  2. Haz clic en Base64 Decode, el texto decodificado aparece al instante, justo debajo.
  3. Haz clic en Copiar al portapapeles para coger el resultado, o pega algo nuevo y ejecútalo de nuevo.

No hay archivo que elegir, ni barra de progreso de subida, todo es una operación en un clic, dentro del navegador.

Por qué decodificar Base64

Base64 aparece en cualquier sitio donde un sistema necesite mover bytes arbitrarios a través de un canal que solo maneja texto de forma segura: una cabecera HTTP Authorization: Basic, el segmento de cabecera y payload de un JSON Web Token (JWT), una URI data: incrustada en HTML o CSS, una variable de entorno con un certificado o clave, o un blob binario metido en un campo JSON. Leer cualquiera de eso como humano, inspeccionar qué hay realmente dentro de un JWT, comprobar a qué se decodifica la cabecera de Basic Auth de una API, o recuperar el texto original de un payload que produjo un script, significa decodificarlo primero.

Hacer esto a mano o levantar un script de prueba cada vez es una fricción que no necesitas, esta página ejecuta las propias primitivas de decodificación del navegador en el instante en que haces clic en el botón, sin configuración y sin consola necesaria.

Manejo correcto de UTF-8, el detalle que la mayoría de decodificadores Base64 hacen mal

La función integrada atob() de JavaScript parece la herramienta obvia para el trabajo, pero tiene un filo peligroso: devuelve una “cadena binaria” donde cada carácter de JavaScript representa exactamente un byte decodificado, no un carácter decodificado. Devuelve esa cadena directamente y cualquier secuencia UTF-8 multibyte en el texto original (una letra acentuada como é, un emoji, o una escritura no latina como el japonés o el árabe) sale como mojibake corrupto en lugar del texto real.

Esta herramienta evita ese error tratando la salida de atob() puramente como bytes en bruto: el código de cada carácter se convierte en una entrada de un Uint8Array, y el TextDecoder del navegador reconstruye entonces esos bytes en la cadena Unicode correcta. Es el espejo exacto de cómo construye su salida la herramienta complementaria Codificador Base64, así que una cadena como café 🎉 se decodifica de vuelta exactamente a café 🎉, verificado contra el propio Buffer.from(base64, 'base64').toString('utf-8') de Node.js como referencia independiente, no solo una ida y vuelta contra el propio codificador de este sitio.

Base64 URL-safe y relleno faltante, gestionados automáticamente

El Base64 estándar usa + y / en su alfabeto y rellena el resultado con caracteres = finales para que su longitud sea siempre un múltiplo de 4. Muchos sistemas del mundo real (JWT, parámetros de URL, nombres de archivo) usan en su lugar una variante “URL-safe”: - en lugar de +, _ en lugar de /, y el relleno con frecuencia se omite por completo ya que no hace falta una vez que se conoce la longitud de antemano.

Esta herramienta detecta ambas formas de manera transparente: cambia los caracteres URL-safe de vuelta a los estándar, y luego vuelve a añadir el relleno correcto, == cuando la longitud queda 2 corta de un múltiplo de 4, un solo = cuando queda 1 corta, y ninguno en absoluto cuando la longitud ya divide de forma exacta entre 4. Esto se verifica contra un segmento real de payload de JWT, así como ejemplos construidos a mano de URL-safe/sin relleno, así que un segmento de JWT copiado directamente de un token se pega y decodifica sin ninguna limpieza manual.

La entrada mal formada recibe un error claro, no basura

Un Base64 inválido (una errata, un copiar-pegar truncado, o texto que nunca fue Base64 en absoluto) normalmente hace que atob() lance una DOMException cruda y críptica. Esta herramienta captura eso (junto con el caso en el que una secuencia de bytes decodificada resulta no ser UTF-8 válido en absoluto) y muestra un error en lenguaje sencillo explicando qué salió mal, en lugar de una traza de pila del navegador o basura devuelta en silencio.

Privado, porque tu texto nunca sale de tu dispositivo

Parte de lo que la gente pega en un decodificador Base64 online es sensible: un token de API, parte de un JWT que lleva reclamaciones de usuario, un identificador interno. Muchos sitios de “decodificador Base64 online gratis” enrutan ese texto a través de un servidor backend de todas formas, lo cual es un riesgo innecesario para algo que necesita cero acceso a la red para calcularse. Esta herramienta ejecuta la decodificación usando solo el propio motor de JavaScript de tu navegador, nada se transmite, registra ni almacena, y funciona exactamente igual sin conexión una vez cargada la página.

Usos habituales

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Decodificador Base64 con la entrada de ejemplo «RXZlcnl0aGluZyBydW5zIGluIHlvdXIgYnJvd3Nlci4=»
Decodificador Base64 en pleno proceso: la entrada de ejemplo «RXZlcnl0aGluZyBydW5zIGluIHlvdXIgYnJvd3Nlci4=».
Captura de pantalla del resultado de Decodificador Base64 mostrando la salida generada «Everything runs in your browser.»
El resultado final: la salida generada «Everything runs in your browser.». El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.

Preguntas frecuentes

¿Se envía mi texto Base64 a un servidor para decodificarlo?

No. La decodificación Base64 es una operación pura de JavaScript que se ejecuta enteramente dentro de tu pestaña del navegador en el momento en que haces clic en el botón. Lo que sea que pegues (un token de API, un segmento de JWT, un payload codificado) nunca sale de tu dispositivo.

¿Esto gestiona correctamente emojis, letras acentuadas y texto no inglés?

Sí. El atob() plano solo devuelve una "cadena binaria" en bruto (un carácter de JS por cada byte, no por cada carácter decodificado) así que pasar eso directamente corrompería cualquier secuencia UTF-8 multibyte en el momento en que el texto original tuviera una letra acentuada, un emoji o una escritura no latina. Esta herramienta lee esos bytes en un Uint8Array y los reconstruye con TextDecoder, el espejo exacto de cómo Base64 Encode construyó los bytes en primer lugar, así que un texto como café 🎉 vuelve exactamente igual que como entró.

¿Esto funciona con Base64 URL-safe (el tipo usado en JWT)?

Sí, automáticamente. El Base64 estándar usa + y / con relleno =; la variante URL-safe los sustituye por - y _ y a menudo omite el relleno final por completo (habitual en JSON Web Tokens y parámetros de consulta de URL). Esta herramienta detecta y traduce los caracteres URL-safe y restaura cualquier relleno faltante antes de decodificar, así que puedes pegar cualquiera de las dos formas sin tener que arreglarlas primero.

¿Qué pasa si pego un Base64 inválido o mal formado?

Recibes un mensaje de error claro y amigable en lugar de una excepción críptica del navegador o una salida corrupta en silencio. Las causas habituales son una errata, un copiar-pegar que perdió caracteres, o pegar algo que nunca fue realmente Base64.

¿Hay un límite de caracteres o longitud?

Sin límite artificial, toda la operación se ejecuta en la memoria de tu navegador en lugar de mediante una petición de red, así que puedes decodificar desde un token corto hasta un payload codificado grande.

¿Puedo codificar texto plano a Base64 aquí?

No en esta página, esta herramienta solo decodifica. Usa la herramienta complementaria Codificador Base64 para la operación inversa (texto a Base64), que usa el mismo enfoque correcto y consciente de UTF-8 al revés.

Herramientas relacionadas