Tech

Codificador Base64

Convertí texto a Base64 con soporte UTF-8 y variante URL-safe. Útil para tokens, data URIs, embebidos en JSON y headers HTTP. Todo se procesa en tu navegador.

Qué es Base64

Base64 es un esquema de codificación que representa datos binarios usando 64 caracteres ASCII imprimibles: A-Z, a-z, 0-9, + y /, más el = como padding. Cada 3 bytes (24 bits) se mapean a 4 caracteres de 6 bits cada uno. El nombre viene de "base 64": el sistema usa 64 símbolos en vez de los 256 posibles del binario crudo.

Está estandarizado en la RFC 4648. Existen variantes: la estándar (con + y /), la URL-safe (con - y _) y otras menos comunes. Todos los lenguajes serios traen Base64 en su librería estándar.

Cuándo usar Base64

  • Adjuntos en email. SMTP fue diseñado para texto ASCII. MIME usa Base64 para meter binarios (PDF, imágenes) en mensajes.
  • Data URIs. data:image/png;base64,iVBORw0KGgo... permite incrustar imágenes pequeñas directamente en HTML o CSS.
  • JSON con binarios. JSON solo soporta texto. Para mandar bytes sin un endpoint multipart, se codifican en Base64.
  • JWT. Header, payload y firma se codifican en Base64 URL-safe.
  • Basic Auth. El header Authorization: Basic ... contiene usuario:password en Base64 (no es seguro: requiere HTTPS).
  • Configuración de variables. Para guardar binarios chicos (claves SSH, certificados) en variables de entorno o YAML.

Variante URL-safe

En URLs, los caracteres + y / tienen significado especial. / separa segmentos del path; + en query strings se interpreta como espacio. Para evitar escapado, la variante URL-safe los reemplaza por - y _. Además suele omitir el = de padding al final.

Esta variante se usa en JWT, OAuth (PKCE), claves API públicas y, en general, cualquier token que termine en una URL.

Tamaño y eficiencia

Base64 agranda los datos en aproximadamente 33%: cada 3 bytes pasan a 4. Para una imagen de 100 KB, la versión Base64 ocupa 133 KB. Por eso conviene incrustar solo imágenes chicas como data URI: para imágenes grandes, mejor servirlas como archivo separado.

Si necesitás algo aún más compacto, considerá Base85 (Ascii85), que codifica 4 bytes en 5 caracteres (25% de overhead). Lo usa, por ejemplo, el formato PDF para imágenes embebidas.

Errores comunes con Base64

  1. Confundirlo con cifrado. Base64 es legible: cualquiera puede decodificarlo. Si necesitás privacidad, cifrá con AES antes de codificar.
  2. Olvidarse del UTF-8. Para textos con acentos o emojis, codificalos primero a UTF-8 (lo que hace nuestro generador), nunca a ASCII puro.
  3. Mezclar variantes. Decodificar Base64 URL-safe con un decoder estándar falla. Hay que normalizar primero.
  4. Padding ausente. Algunos decoders exigen el = final. Si tu cadena no lo tiene, agregalo manualmente para que la longitud sea múltiplo de 4.

Privacidad de este codificador

Todo se procesa en tu navegador con btoa sobre el resultado de TextEncoder. No hay servidor, no hay analítica del contenido, no quedan logs. Pegá lo que quieras: si cerrás la pestaña, se va con vos.

Preguntas frecuentes

¿Qué es Base64?

Una codificación que representa binarios con 64 caracteres ASCII. Sirve para meter bytes en canales que solo aceptan texto.

¿Es cifrado?

No. Base64 es solo codificación, reversible por cualquiera. Para confidencialidad usá cifrado real (AES, libsodium).

¿Cuándo usar URL-safe?

Cuando el resultado va en URLs, headers o nombres de archivo. Evita el escapado de + y /.

¿Cuánto crece el texto?

Aproximadamente 33%: cada 3 bytes pasan a 4 caracteres.