Tech

Decodificador Base64

Convertí cualquier cadena Base64 al texto original. Detecta automáticamente la variante URL-safe y agrega el padding faltante si hace falta.

Cómo funciona la decodificación

Decodificar Base64 es el proceso inverso de la codificación: cada 4 caracteres de la cadena se convierten en 3 bytes de salida. El decodificador hace tres pasos:

  1. Limpia espacios, saltos de línea y caracteres no válidos.
  2. Si detecta variante URL-safe (presencia de - o _), los reemplaza por + y /.
  3. Agrega = de padding hasta que la longitud sea múltiplo de 4.

Después aplica atob (la primitiva nativa del navegador) y reinterpreta los bytes como UTF-8 con TextDecoder. Eso permite mostrar correctamente acentos, eñes, emojis y caracteres no latinos.

Errores frecuentes al decodificar

  • Cadenas con espacios o saltos de línea. El email a veces parte el Base64 en líneas de 76 caracteres con saltos. Limpialos antes (este decoder lo hace solo).
  • Padding ausente. Cadenas tipo JWT no llevan = al final. Agregás = hasta llegar a múltiplo de 4 (este decoder lo hace solo).
  • Variante URL-safe sin convertir. Si tu cadena tiene - o _, el decoder estándar tira error. Convertí o usá un decoder que lo soporte.
  • Datos no-UTF-8. Si decodificás algo que no era texto (imagen binaria), vas a ver caracteres ininteligibles. Es lo esperable.

Ejemplos de uso real

El decodificador de Base64 aparece en muchos contextos cotidianos del desarrollo:

  • Inspeccionar JWT. El payload de un JWT es Base64 URL-safe. Decodificarlo te muestra los claims (sub, iat, exp, etc.).
  • Leer Basic Auth. Si capturás un header Authorization: Basic ..., decodificalo para ver usuario:password.
  • Inspeccionar data URIs. El SVG embebido como data:image/svg+xml;base64,... se puede decodificar para leer el XML.
  • Variables de entorno binarias. Algunas herramientas guardan claves SSH o certificados como Base64 en variables; decodificás para usarlos.
  • Configuraciones de Kubernetes. Los Secret de K8s están en Base64. kubectl get secret ... -o yaml los muestra codificados; el decoder revela el valor real.

Base64 y seguridad

Volvemos a recalcarlo: Base64 no es cifrado. Si encontraste una clave o token en Base64 en un commit público, asumí que está comprometido y rotalo. Cualquier scanner automático lo decodifica en milisegundos.

Tampoco confundas un hash con Base64. Algunos hashes (bcrypt, por ejemplo) tienen formato similar a Base64 pero no son intercambiables: bcrypt usa una variante propia con alfabeto diferente y el hash no es decodificable, es one-way.

Si la cadena no decodifica bien

Verificá tres cosas en orden:

  1. ¿La cadena tiene caracteres extraños copiados accidentalmente? Borrá comillas, espacios extra y BOM.
  2. ¿Es realmente Base64 o es Base32, Base58 (Bitcoin) o Hex? Se confunden seguido.
  3. ¿Los datos originales eran texto? Si era binario, el resultado va a ser ilegible.

Preguntas frecuentes

¿Qué hace este decodificador?

Convierte una cadena Base64 (estándar o URL-safe) al texto UTF-8 original. Detecta la variante y agrega padding si falta.

¿Por qué da error "Invalid character"?

La cadena tiene caracteres no Base64. El decoder limpia espacios solo; si igual falla, revisá si es realmente Base64.

¿Funciona con archivos binarios?

Pensado para texto. Para binarios usá utilidades de terminal como base64 -d.

¿Es privado?

Sí, todo en tu navegador con atob. Nada se envía a un servidor.