Garantía de privacidad: Esta herramienta se ejecuta completamente en su navegador. No se realizan solicitudes de red. Sus datos permanecen en su dispositivo.
0 caracteres
0 caracteres
Acciones rápidas: Base64 seguro para URL Data URL (image/png) Data URL (text/plain)

¿Qué es la Codificación Base64?

Base64 es un esquema de codificación de binario a texto que convierte datos binarios arbitrarios en una secuencia de 64 caracteres ASCII imprimibles: letras mayúsculas (A-Z), letras minúsculas (a-z), dígitos (0-9), más (+) y barra (/). Se agrega relleno con signos de igual (=) para asegurar que la longitud de la salida sea un múltiplo de cuatro.

El nombre "Base64" proviene del hecho de que utiliza exactamente 64 caracteres distintos para representar datos. Cada 3 bytes de entrada se convierten en 4 caracteres Base64, lo que significa que la salida codificada es aproximadamente un 33% más grande que el binario original.

Cuándo Usar Base64

  • Incrustar imágenes en HTML/CSS — use un data URL (data:image/png;base64,...) para incluir imágenes pequeñas sin solicitudes HTTP adicionales
  • Payloads JSON — JSON solo soporta texto; Base64 le permite incluir datos binarios como contenido de archivos o imágenes en campos JSON
  • Archivos adjuntos de correo electrónico — el estándar MIME usa Base64 para codificar archivos adjuntos binarios en correo electrónico de texto plano
  • Headers HTTP y parámetros de consulta — pase valores binarios de forma segura a través de canales que solo aceptan ASCII
  • Tokens JWT — el header y el payload de un JSON Web Token están codificados en Base64URL
  • Almacenar blobs binarios en bases de datos de texto — codifique valores binarios pequeños para almacenamiento en columnas VARCHAR o TEXT
  • Autenticación básica — HTTP Basic Auth codifica credenciales como Base64 (usuario:contraseña)

Base64 en JavaScript

Los navegadores modernos proporcionan dos funciones integradas para codificación y decodificación Base64. Para texto Unicode, necesita manejar caracteres multibyte explícitamente:

// Codificar una cadena ASCII simple
const encoded = btoa('Hello, world!');
// → "SGVsbG8sIHdvcmxkIQ=="

// Decodificar una cadena Base64
const decoded = atob('SGVsbG8sIHdvcmxkIQ==');
// → "Hello, world!"

// Codificar una cadena UTF-8 (soporta emoji, no-ASCII)
function encodeUTF8(str) {
  const bytes = new TextEncoder().encode(str);
  const binStr = Array.from(bytes, b => String.fromCharCode(b)).join('');
  return btoa(binStr);
}

// Decodificar una cadena Base64 UTF-8
function decodeUTF8(b64) {
  const binStr = atob(b64);
  const bytes = Uint8Array.from(binStr, c => c.charCodeAt(0));
  return new TextDecoder().decode(bytes);
}

// Base64 seguro para URL (reemplaza + con - y / con _)
function encodeURLSafe(str) {
  return encodeUTF8(str).replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
}

// Node.js (lado del servidor)
const encoded = Buffer.from('Hello').toString('base64');
const decoded = Buffer.from('SGVsbG8=', 'base64').toString('utf8');

// Generar un data URL desde una cadena
function toDataURL(content, mimeType = 'text/plain') {
  return `data:${mimeType};base64,${encodeUTF8(content)}`;
}

Preguntas Frecuentes

¿Qué es la codificación Base64?

Base64 es un esquema de codificación de binario a texto que representa datos binarios usando 64 caracteres ASCII imprimibles. Se utiliza para transmitir de forma segura contenido binario — como imágenes, archivos o bytes arbitrarios — a través de canales que solo manejan texto, como JSON, XML, correo electrónico y URLs. Base64 no comprime datos; la salida codificada es aproximadamente un 33% más grande que la entrada.

¿Cuándo debo usar la codificación Base64?

Use Base64 cuando necesite incrustar datos binarios en un contexto de solo texto: imágenes en línea en HTML o CSS como data URLs, campos binarios en payloads de API JSON, archivos adjuntos en correo electrónico (MIME), credenciales en headers HTTP Basic Auth, y pequeños blobs binarios almacenados en columnas de texto en bases de datos. Para archivos grandes, prefiera subirlos directamente en lugar de codificarlos en Base64, ya que la sobrecarga de tamaño se acumula rápidamente.

¿Es Base64 una forma de cifrado?

No — Base64 es puramente un esquema de codificación, no cifrado. No ofrece seguridad o confidencialidad alguna. Cualquier cadena Base64 puede ser decodificada instantáneamente por cualquiera sin una clave o contraseña. Nunca use Base64 para ocultar datos sensibles como contraseñas, claves de API o información personal. Si necesita confidencialidad, use cifrado adecuado como AES-256 (simétrico) o RSA (asimétrico).

¿Qué es un data URL en Base64?

Un data URL incrusta contenido de archivos directamente en un URI usando codificación Base64, siguiendo el formato data:[tipo-mime];base64,[datos-codificados]. Por ejemplo: data:image/png;base64,iVBORw0KGgo.... Los data URLs le permiten incrustar imágenes o archivos pequeños directamente en HTML, CSS o JSON sin una solicitud de archivo separada. Son más adecuados para recursos pequeños (menos de unos pocos kilobytes) ya que los data URLs más grandes aumentan el tamaño de la página y no pueden ser almacenados en caché por el navegador de forma independiente del documento que los contiene.

Herramientas Relacionadas para Desarrolladores