ZapFile
codificacióndesarrolladoresguía

Qué es la codificación Base64 y cómo usarla

Base64 explicado con claridad: qué es, por qué existe, usos habituales en desarrollo web y cómo codificar o decodificar textos y archivos online.

5 min de lectura

Base64 aparece constantemente en el desarrollo web: imágenes incrustadas, tokens JWT, adjuntos de correo, respuestas de API. Entenderlo aclara muchas tareas.

¿Qué es Base64?

Base64 es un sistema que codifica datos binarios como texto. Representa los bytes con solo 64 caracteres ASCII imprimibles:

A–Z, a–z, 0–9, +, / (y = como relleno)

El nombre «Base64» viene de esos 64 caracteres. Cada 3 bytes de datos binarios se convierten en 4 caracteres Base64.

¿Por qué existe Base64?

Muchos sistemas se diseñaron para manejar solo texto: el correo (SMTP), los atributos HTML, los campos JSON, las URL. Cuando hay que meter datos binarios (una imagen, un PDF, bytes en bruto) en un sistema de texto, hace falta una forma segura de representarlos como texto.

Base64 lo resuelve codificando cualquier contenido binario como una cadena de caracteres seguros e imprimibles que los analizadores de texto no malinterpretan.

Usos habituales

Incrustar imágenes en HTML/CSS

En lugar de enlazar a un archivo de imagen:
<img src="data:image/png;base64,iVBORw0KGgo..." />
Es útil para iconos pequeños en exportaciones HTML de un solo archivo o en plantillas de correo donde los enlaces externos pueden estar bloqueados.

JSON Web Tokens (JWT)

Un JWT tiene tres partes codificadas en Base64 y separadas por puntos: Header.Payload.Signature

El encabezado y el contenido son objetos JSON codificados en Base64. Ojo: están codificados, no cifrados; cualquiera puede decodificarlos. Usa el decodificador JWT de ZapFile para ver el contenido de un token.

Adjuntos de correo (MIME)

Los adjuntos de correo son archivos binarios codificados en Base64 dentro del protocolo de texto del correo. Tu cliente de correo se encarga de ello automáticamente.

Respuestas de API

Algunas API devuelven datos binarios (imágenes, PDF) como cadenas Base64 dentro de respuestas JSON, ya que JSON no admite binarios de forma nativa.

Autenticación HTTP Basic

La cabecera Authorization: Basic codifica usuario:contraseña en Base64. No es cifrado, solo codificación. Usa siempre HTTPS.

Codificar y decodificar online

Usa el codificador/decodificador Base64 de ZapFile para:

  • Codificar texto o archivos en Base64

  • Decodificar Base64 a texto o a archivos descargables

  • Previsualizar al instante data URL de imágenes

¿Base64 comprime los datos?

No, al contrario. Base64 aumenta el tamaño en torno a un 33 %. Tres bytes se convierten en cuatro caracteres. Sirve para la compatibilidad, no para comprimir.

Base64 o Base64url

El Base64 estándar usa + y /, que tienen un significado especial en las URL. Base64url los sustituye por - y _ para que el resultado sea seguro en parámetros de URL y tokens JWT.

Resumen

  • Base64 representa datos binarios como texto ASCII imprimible para sistemas basados en texto
  • Es habitual en imágenes incrustadas, JWT, adjuntos de correo y respuestas de API
  • Aumenta el tamaño un ~33 %: es para compatibilidad, no para comprimir
  • Decodifica un JWT o una cadena Base64 al instante con las herramientas de ZapFile

Artículos relacionados