Codificador Base64 — Convierte Texto y Datos Online

Codifica texto a Base64 o decodifica Base64 de vuelta a texto legible. Maneja UTF-8, funciona offline, y nunca envía tus datos a ningún lado. Útil para tokens JWT, Data URIs, cabeceras de autenticación API, y codificación de email.

Texto de entrada
tools.base64Encoder.base64Output

Qué Hace Base64 Realmente

Base64 toma datos binarios y los representa usando solo 64 caracteres ASCII "seguros" (A-Z, a-z, 0-9, +, /) más = para padding. Está definido en RFC 4648 y existe desde el estándar de email MIME a principios de los 1990.

Por qué existe? Porque muchos sistemas (email, JSON, URLs, XML) solo pueden manejar texto. Si necesitas meter una imagen PNG en una respuesta JSON o un cuerpo de email, no puedes simplemente volcar bytes crudos ahí — necesitas codificarlos como texto primero. Base64 es la forma estándar de hacerlo.

El trade-off: Base64 aumenta el tamaño de datos exactamente un 33% (más padding). Cada 3 bytes de entrada se convierten en 4 caracteres de salida. Una imagen de 1MB se convierte en ~1.33MB como Base64. Por eso no deberías codificar archivos grandes en Base64 para entrega web — usa uploads de archivos normales o URLs de CDN. Pero para assets pequeños (iconos bajo 5KB, subsets de fuentes) o datos que deben viajar por canales de solo texto, el 33% de overhead vale la pena.

Cómo Usar

  1. Elige modo Codificar o Decodificar arriba.
  2. Pega tu texto (para codificar) o cadena Base64 (para decodificar) en la entrada.
  3. Presiona el botón — el resultado aparece al instante.
  4. Copia la salida. Para Data URIs, agrega "data:image/png;base64," tú mismo al inicio.

Cuándo Lo Necesitarás

Inspeccionar payloads de tokens JWT

Los JWTs tienen tres partes codificadas en Base64url separadas por puntos. Pega la parte del medio (payload) aquí para decodificarla y ver los claims — ID de usuario, tiempo de expiración, roles — sin instalar una librería JWT.

Crear Data URIs para imágenes inline

Necesitas incrustar un icono pequeño directamente en CSS o HTML sin una petición HTTP extra? Codifica el archivo de imagen a Base64, luego úsalo como: background-image: url(data:image/png;base64,TU_STRING). Mantenlo bajo 5KB o estarás perjudicando el rendimiento.

Cabeceras de HTTP Basic Authentication

Basic Auth requiere "usuario:contraseña" codificado como Base64 en la cabecera Authorization. Pega "admin:secretpass" aquí, codifícalo, y usa el resultado en tu herramienta de testing de API o comando curl.

Depurar payloads de API codificados

Algunas APIs devuelven campos codificados en Base64 (respuestas de AWS Lambda, Kubernetes secrets, aserciones SAML). Pega la cadena codificada aquí para ver qué hay realmente dentro sin escribir un script de decodificación.

Cosas que Debes Saber

1.

Base64 NO es encriptación

Este es el error #1. Base64 es trivialmente reversible — cualquiera puede decodificarlo. Nunca lo uses para "ocultar" contraseñas, API keys, o datos sensibles. Si ves una contraseña almacenada como Base64 en un archivo de configuración, eso es un bug de seguridad, no una medida de seguridad.

2.

Cuidado con URL-safe vs Base64 estándar

Base64 estándar usa + y / que rompen URLs. Base64 URL-safe (RFC 4648 §5) los reemplaza con - y _. Los JWTs usan URL-safe. La mayoría de APIs usan estándar. Si tu salida decodificada parece basura, podrías estar usando la variante incorrecta.

3.

No codifiques archivos grandes en Base64 para la web

Una imagen de 100KB como Base64 en tu CSS = 133KB de texto que no se puede cachear por separado, no se puede cargar lazy, y infla tu hoja de estilos. Usa Base64 solo para assets pequeños (< 5KB). Todo lo demás debería ser un archivo normal servido desde un CDN.

4.

La codificación UTF-8 importa

Base64 codifica bytes, no caracteres. "Hello" en ASCII son 5 bytes. "Hola" en UTF-8 son 4 bytes. Si codificas texto, asegúrate de que ambos lados acuerden la codificación de caracteres (UTF-8 es el default seguro). Codificación no coincidente = salida corrupta.

Ejemplos Reales

Decodificar un payload JWT

La sección del medio de un token JWT — decodifícala para ver los claims del usuario.

Input

eyJ1c2VySWQiOjQyLCJyb2xlIjoiYWRtaW4iLCJleHAiOjE3MTY5OTIwMDB9

Output

{"userId":42,"role":"admin","exp":1716992000}

Codificar credenciales para Basic Auth

HTTP Basic Authentication requiere base64("usuario:contraseña").

Input

admin:my-secret-password

Output

YWRtaW46bXktc2VjcmV0LXBhc3N3b3Jk

Características

  • Codifica y decodifica en una herramienta — alterna entre modos
  • Soporte completo UTF-8 (español, japonés, emoji — todo funciona)
  • Maneja entrada multilínea sin problemas
  • Funciona completamente en tu navegador — sin viaje al servidor
  • Sin límite de tamaño más allá de la memoria de tu navegador
  • Gratis, sin registro, sin tracking

Preguntas Frecuentes

¿Por qué Base64 hace mi archivo 33% más grande?

Base64 mapea cada 3 bytes de entrada a 4 caracteres ASCII. Eso es una proporción 4/3 = 33.3% de aumento. Más 1-2 caracteres de padding (=) al final si la longitud de entrada no es divisible por 3. No hay forma de evitar esto — es inherente a la codificación.

¿Puedo decodificar un token JWT con esta herramienta?

Parcialmente. Los JWTs usan codificación Base64url (- y _ en vez de + y /). El payload (parte del medio) se decodifica a JSON legible. La firma (última parte) se decodifica a basura binaria porque es un hash criptográfico. Esta herramienta maneja tanto Base64 estándar como URL-safe.

¿Base64 es lo mismo que encriptación?

No. Absolutamente no. Base64 es codificación — es completamente reversible por cualquiera con cero esfuerzo. Proporciona cero seguridad. Si alguien te dice que su API "encripta" datos con Base64, huye. Usa AES-256 o similar para encriptación real.

¿Por qué Kubernetes secrets usa Base64?

Kubernetes almacena secrets como Base64 en manifiestos YAML/JSON porque datos binarios no pueden ir directamente en YAML. Pero esto NO es seguridad — cualquiera con acceso kubectl puede decodificarlos al instante. Usa sealed-secrets o gestores de secretos externos (Vault, AWS Secrets Manager) para protección real.

¿Cuál es la diferencia entre Base64 y URL encoding?

Problemas diferentes, soluciones diferentes. URL encoding (percent-encoding) hace caracteres individuales URL-safe reemplazándolos con %XX. Base64 convierte datos binarios arbitrarios a un string de texto. Usa URL encoding para parámetros de query con caracteres especiales. Usa Base64 para incrustar datos binarios en formatos de texto.

Consejos y flujos de trabajo relacionados