← El notebookIssue №05Herramientas8 min lecturaSep 16, 2025

Qué es Base64 y cuándo usarlo de verdad.

Base64 aparece en APIs, tokens, imágenes embebidas y autenticación HTTP. Entendé qué es, cómo funciona, cuándo tiene sentido usarlo y cuándo no.

G
Steven Galo
Fundador · Costa Rica
#

¿Qué es Base64?

Base64 es un esquema de codificación que convierte datos binarios en texto ASCII. Su único propósito es hacer que datos arbitrarios (que pueden incluir bytes con valores especiales) sean seguros para transmitir en canales diseñados para texto, como emails o URLs. No es cifrado, no es compresión, no agrega seguridad: solo convierte el formato.

El nombre viene de que usa un alfabeto de 64 caracteres: A-Z, a-z, 0-9, + y /. Cada carácter Base64 representa 6 bits de datos. En grupos de 3 bytes (24 bits) de datos originales se obtienen 4 caracteres Base64. Por eso Base64 siempre produce strings cuya longitud es múltiplo de 4, completando con = si es necesario.

Overhead de tamaño
~33%
Caracteres en el alfabeto
64
Bytes → chars
3→4

Cómo funciona.

El proceso toma los bytes de los datos originales en grupos de 3 (24 bits), los divide en 4 grupos de 6 bits, y mapea cada grupo a un carácter del alfabeto Base64. Si los datos no son múltiplo de 3 bytes, se agrega padding con el carácter = para que el resultado tenga longitud múltiplo de 4.

Por ejemplo, la letra "M" en ASCII es el byte 77 (01001101 en binario). Para codificarla sola en Base64, se necesita padding porque es un solo byte: el resultado es "TQ==". Los dos == indican que se agregaron dos bytes de padding. Esto también explica por qué strings Base64 terminan en 0, 1 o 2 signos de igual.

Cuándo usarlo.

Los casos de uso legítimos de Base64 son específicos. Data URIs permiten embeber imágenes directamente en HTML o CSS sin una request HTTP adicional: src="data:image/png;base64,iVBOR...". Útil para iconos pequeños o cuando querés evitar requests. HTTP Basic Auth codifica el usuario y contraseña en el header: Authorization: Basic dXNlcjpwYXNz.

Los tokens JWT usan Base64url (una variante que reemplaza + con - y / con _ para ser segura en URLs) para sus tres partes: header, payload y firma. Las APIs REST que transfieren archivos o datos binarios en JSON usan Base64 porque JSON no puede contener bytes arbitrarios. Los emails (protocolo SMTP) usan Base64 para adjuntos porque el protocolo original solo maneja texto ASCII.

  • Data URIs para imágenes pequeñas en HTML/CSS
  • HTTP Basic Auth headers
  • Tokens JWT (Base64url en header y payload)
  • Adjuntos de email (MIME)
  • Transferencia de datos binarios en JSON
Base64 no cifra. No protege. Solo cambia el formato. Un string Base64 es tan legible como texto plano para quien sepa decodificarlo.

Limitaciones importantes.

El overhead del 33% de tamaño es real y significativo: una imagen de 100KB se convierte en una string de 133KB. Para imágenes grandes, siempre es mejor servirlas como archivos separados. Base64 tampoco es apropiado para datos sensibles: cualquiera puede decodificar una string Base64 al instante, no hay secreto alguno. Los "passwords en Base64" en el código son texto plano disfrazado.

Probalo ahora.

Si necesitás codificar o decodificar Base64, la herramienta Base64 Tool de GaloDev lo hace directamente en tu navegador, sin enviar nada a ningún servidor. Soporta texto plano, JSON y strings URL-safe. El botón de swap invierte el proceso con un clic.

— Construido en público

¿Tienes una
sugerencia?

Seguimos construyendo. Si tienes una idea para una herramienta o un tema para el blog, escríbenos directamente o abre un issue en GitHub.