Codificación Base64: Cómo Funciona y Cuándo Usarla

Comprende la codificación y decodificación Base64 — URIs de datos, cargas útiles de API, archivos adjuntos de correo y conversión binario-texto.

6 min de lectura Codificación · Web · APIs 6 secciones + FAQ

Base64 es un esquema de codificación binario a texto que convierte datos binarios arbitrarios en una cadena de 64 caracteres ASCII imprimibles. No cifra, solo codifica.

Encuentras Base64 en todas partes: URIs de datos en CSS, tokens JWT, archivos adjuntos de correo, cuerpos de solicitudes de API.

Qué es la codificación Base64

Base64 está definido en RFC 4648. Representa datos binarios usando 64 caracteres: A-Z, a-z, 0-9, + y /. Cada 3 bytes de entrada producen 4 caracteres Base64, con una sobrecarga del 33%.

Herramienta gratuita Codificador / Decodificador Base64 Codifica y decodifica cadenas Base64 al instante en tu navegador

Cómo funciona Base64 (el algoritmo)

El algoritmo de codificación divide los bytes de entrada en grupos de 6 bits. Cada grupo de 6 bits se mapea a un carácter en el alfabeto. Tres bytes de entrada producen cuatro grupos de 6 bits, por lo tanto cuatro caracteres de salida.

Base64 en URIs de datos

Un URI de datos incrusta el contenido del archivo directamente en una URL. El formato es data:[mediatype];base64,[data]. Permite incrustar imágenes y otros activos en HTML o CSS sin solicitudes HTTP separadas.

<!-- Imagen inline como URI de datos -->
<img src="data:image/png;base64,iVBORw0KGgo..." />

/* Fuente inline en CSS */
@font-face {
  src: url('data:font/woff2;base64,d09GMgAB...');
}
Herramienta gratuita Codificador de Imagen a Base64 Convierte cualquier imagen a un URI de datos Base64 para incrustar inline

Base64 en APIs y cargas JSON

JSON solo soporta texto — los datos binarios no se pueden incrustar directamente. Base64 resuelve esto: el contenido binario se codifica en una cadena Base64 y se incluye como campo JSON.

Base64 en correo electrónico (MIME)

El correo electrónico fue diseñado originalmente para texto ASCII de 7 bits. Los archivos adjuntos binarios deben codificarse para la transmisión. MIME usa Base64 como codificación estándar para archivos adjuntos.

Codificación vs cifrado

Base64 es codificación, no cifrado. No proporciona seguridad — cualquier cadena Base64 puede decodificarse trivialmente. Nunca uses Base64 para ocultar datos sensibles.

Herramienta gratuita Formateador y Validador JSON Formatea, valida y minifica datos JSON con resaltado de sintaxis

Preguntas Frecuentes

¿Para qué se usa Base64? +
Base64 se usa para codificar datos binarios como texto: URIs de datos en HTML/CSS, cargas JSON de API, archivos adjuntos de correo (MIME) y tokens JWT.
¿Cuánto aumenta Base64 el tamaño del archivo? +
Base64 añade aproximadamente un 33% de sobrecarga. Cada 3 bytes se convierten en 4 caracteres Base64. Un archivo de 10KB se convierte en ~13,3KB.
¿Es Base64 lo mismo que el cifrado? +
No. Base64 es codificación, completamente reversible sin clave. Cualquiera puede decodificar una cadena Base64. El cifrado requiere una clave secreta.
¿Qué es Base64 URL-safe? +
Base64 URL-safe reemplaza + con - y / con _, haciendo la salida segura para rutas de URL y parámetros de consulta.
¿Cómo decodifico una cadena Base64? +
En JavaScript: atob(cadenaBase64). En Node.js: Buffer.from(cadenaBase64, "base64").toString(). En Python: base64.b64decode(cadenaBase64).
¿Cuál es la diferencia entre Base64 y Base64URL? +
Base64URL usa - en lugar de + y _ en lugar de /, y omite el relleno. Se usa en tokens JWT, códigos OAuth y parámetros URL.
¿Puedo codificar cualquier archivo con Base64? +
Sí. Base64 es agnóstico al formato: codifica bytes sin procesar independientemente del tipo de archivo.