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
Learn More

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 en su lugar. 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. 1Elige modo Codificar o Decodificar arriba.
  2. 2Pega tu texto (para codificar) o cadena Base64 (para decodificar) en la entrada.
  3. 3Presiona el botón. El resultado aparece al instante.
  4. 4Copia 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 nada.

Crear Data URIs para imágenes inline

Quieres 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 aquí para ver qué hay realmente dentro sin escribir un script.

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, puede que estés usando la variante incorrecta.

3

No codifiques archivos grandes en Base64 para la web

Una imagen de 100KB como Base64 en tu CSS son 133KB de texto que no se puede cachear por separado, no se puede cargar de forma lazy, y que 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 sola herramienta, alterna entre modos
  • Soporte completo UTF-8 (español, japonés, emoji, todo funciona)
  • 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 del 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, o sea 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, no hay nada legible ahí. Esta herramienta maneja tanto Base64 estándar como URL-safe.

¿Base64 es lo mismo que encriptación?

No. Absolutamente no. Base64 es codificación, 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

  • ¿Decodificaste un payload JSON? Dale formato legible con el Formateador JSON.
  • Si necesitas codificar caracteres especiales en una URL en vez de datos binarios, el Codificador de URL.
  • Verifica la integridad de los datos después de codificar generando un hash con el Generador de Hash.
  • ¿Quieres meter datos codificados en Base64 dentro de un código QR? Prueba el Generador de Código QR.