← Volver al Blog
base64codificacióndesarrollo webherramientas para desarrolladores

¿Qué es Base64 y para qué sirve?

Por QuickyTools  ·  Publicado el

¿Qué es Base64?

Base64 es un esquema de codificación que convierte datos binarios en una cadena de caracteres ASCII imprimibles. Representa datos binarios usando un conjunto de 64 caracteres: las 26 letras mayúsculas (A–Z), 26 letras minúsculas (a–z), 10 dígitos (0–9) y los símbolos + y /. El carácter = se usa para relleno.

El nombre “Base64” hace referencia a este conjunto de 64 caracteres. Cada carácter Base64 representa exactamente 6 bits de datos binarios.

Cómo funciona la codificación

Los datos binarios se procesan en grupos de 3 bytes (24 bits). Cada grupo se divide en cuatro fragmentos de 6 bits, y cada fragmento se mapea a un carácter Base64. Esto significa:

  • Cada 3 bytes de entrada se convierten en 4 caracteres Base64
  • Los datos codificados en Base64 son ~33% más grandes que el original binario

Si la entrada no es divisible por 3, se añaden caracteres de relleno = al final.

Ejemplo:

HolaSG9sYQ==

¿Por qué Existe Base64?

Muchos sistemas y protocolos fueron diseñados originalmente para manejar solo texto — no datos binarios arbitrarios. Los protocolos de correo (SMTP), XML, JSON y HTML trabajan con texto. Pero las imágenes, archivos de audio y otros datos binarios necesitan transmitirse junto con texto en estos contextos.

Base64 resuelve esto convirtiendo binario en una representación segura para texto que puede viajar por cualquier sistema basado en texto sin corromperse.

Casos de Uso Comunes

1. Incrustar imágenes en HTML/CSS

En lugar de enlazar a un archivo externo, puedes incrustar una imagen directamente:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUh..." />
background-image: url('data:image/png;base64,iVBORw0K...');

Esto es útil para iconos pequeños o imágenes críticas que no quieres que requieran una petición HTTP separada.

2. Adjuntos de correo electrónico

El estándar MIME usa Base64 para codificar adjuntos de archivos en correos electrónicos. Los datos binarios del archivo se convierten a texto Base64 y se incluyen en el cuerpo del correo, luego son decodificados por el cliente de correo del destinatario.

3. Payloads JSON y API

Las APIs REST y los payloads JSON son basados en texto. Cuando necesitas incluir datos binarios (como una imagen o archivo) en una petición JSON, la codificación Base64 es el enfoque estándar:

{
  "archivo": "foto.jpg",
  "datos": "iVBORw0KGgoAAAANSUh..."
}

4. Tokens de autenticación

La Autenticación Básica HTTP codifica el nombre de usuario y contraseña en Base64:

Authorization: Basic dXNlcm5hbWU6Y29udHJhc2XDsWE=

Nota: Base64 no es cifrado — es trivialmente reversible. Por eso se requiere HTTPS al usar Autenticación Básica.

5. Data URIs en SVG y Canvas

Al trabajar con la API HTML5 Canvas o generar SVGs programáticamente, exportar a un data URI produce una cadena Base64 que puede asignarse directamente a fuentes de imágenes o enlaces de descarga.

6. Almacenar datos binarios en bases de datos

Algunas bases de datos o configuraciones antiguas solo soportan campos de texto. Los datos binarios (como imágenes de perfil) pueden almacenarse como cadenas Base64 en estos casos.

Base64 NO es Cifrado

Este es un punto crítico: Base64 codifica, no cifra. Cualquiera puede decodificar una cadena Base64 en segundos. Nunca uses Base64 para ocultar información sensible como contraseñas o datos privados. Usa cifrado adecuado (AES, RSA) para ese propósito.

Base64 Seguro para URLs

El Base64 estándar usa los caracteres + y / que tienen significados especiales en URLs. Para URLs y nombres de archivo, una variante llamada Base64url reemplaza + con - y / con _. Muchos sistemas modernos (tokens JWT, por ejemplo) usan esta variante.

Codifica y Decodifica Base64 al Instante

Nuestro Codificador/Decodificador Base64 gratuito maneja tanto texto como archivos, completamente en tu navegador sin enviar datos a ningún servidor.