Skip to content

Decodificador y Codificador Base64

Decodifica y codifica Base64 online de forma gratuita. Conversión en tiempo real con soporte completo de UTF-8 y emojis. 100% privado — funciona en tu navegador. Sin registro.

Sin rastreo Se ejecuta en el navegador Gratis
Texto
Base64
Revisado para conformidad RFC 4648 y corrección UTF-8 — Equipo de Ingeniería de Go Tools · Mar 22, 2026

¿Qué es Base64?

Base64 es un esquema de codificación binario a texto definido por RFC 4648 que convierte datos binarios arbitrarios en una representación de cadena ASCII segura usando un alfabeto de 64 caracteres. Es una de las codificaciones más ampliamente desplegadas en internet, sustentando todo desde adjuntos de correo electrónico hasta JSON Web Tokens y certificados TLS.

«La codificación Base 64 está diseñada para representar secuencias arbitrarias de octetos de una forma que no necesita ser legible por humanos.» — RFC 4648, Sección 1

Base64 divide la entrada en grupos de 3 bytes (24 bits), luego divide esos 24 bits en cuatro grupos de 6 bits, cada uno mapeado a uno de 64 caracteres imprimibles: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62) y / (63). El carácter = rellena la salida cuando la longitud de entrada no es múltiplo de 3. La codificación Base64 aumenta el tamaño de los datos en aproximadamente un 33% (RFC 4648) — una compensación deliberada para hacer que los datos binarios sean seguros para canales solo de texto.

Base64 fue diseñado originalmente para transmitir de forma segura datos binarios a través de canales que solo admiten texto, como el correo electrónico (MIME) y el HTTP inicial. Hoy es omnipresente: los URI de datos incrustan imágenes en HTML, los tokens JWT codifican claims, los certificados PEM envuelven claves, y las APIs transportan payloads binarios en JSON.

Un codificador Base64 convierte bytes brutos a esta representación ASCII segura, mientras que un decodificador invierte el proceso. Toda la codificación y decodificación en esta herramienta se ejecuta completamente en tu navegador — tus datos nunca se cargan a ningún servidor, lo que la hace segura para usar con claves de API, tokens y otros valores sensibles.

// Encode plain text to Base64
const encoded = btoa('Hello, World!');
console.log(encoded); // → 'SGVsbG8sIFdvcmxkIQ=='

// Decode Base64 back to text
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // → 'Hello, World!'

// UTF-8 safe encode (handles Chinese, emoji, any Unicode)
function encodeBase64(str) {
  const bytes = new TextEncoder().encode(str);  // to UTF-8 bytes
  return btoa(String.fromCharCode(...bytes));
}
console.log(encodeBase64('你好')); // → '5L2g5aW9'

Características principales

Conversión en tiempo real

Codifica y decodifica al instante mientras escribes — sin botones que pulsar, los resultados aparecen inmediatamente en el otro área.

Soporte completo de UTF-8

Maneja correctamente chino, japonés, coreano, árabe, emojis y cualquier texto Unicode mediante TextEncoder/TextDecoder.

Bidireccional

Escribe en cualquier área: el texto plano a la izquierda se codifica a Base64 a la derecha, y Base64 a la derecha se decodifica a texto a la izquierda.

100% en el navegador

Todo el procesamiento ocurre localmente en tu navegador. Tus datos nunca abandonan tu dispositivo — sin cargas al servidor, sin seguimiento.

Detección de errores

La entrada Base64 inválida se detecta inmediatamente con un mensaje de error claro, para que sepas exactamente qué corregir.

Copia con un clic

Copia los resultados codificados o decodificados al portapapeles al instante con el botón Copiar de cada lado.

Ejemplos

Texto simple

Hello, World!
SGVsbG8sIFdvcmxkIQ==

Texto ASCII simple codificado a Base64

Texto UTF-8

你好世界 🌍
5L2g5aW95LiW55WMIPCfjI0=

Caracteres chinos y emojis con codificación UTF-8 correcta

Datos JSON

{"user":"alice","role":"admin"}
eyJ1c2VyIjoiYWxpY2UiLCJyb2xlIjoiYWRtaW4ifQ==

Codifica payloads JSON para incrustarlos en URLs o cabeceras

Texto multilínea

Line 1
Line 2
Line 3
TGluZSAxCkxpbmUgMgpMaW5lIDM=

Base64 preserva los saltos de línea y los espacios en blanco

Cómo usar

  1. 1

    Introduce texto o Base64

    Escribe o pega texto plano en el área izquierda para codificar, o pega una cadena Base64 en el área derecha para decodificar. La conversión es instantánea y bidireccional.

  2. 2

    Observa los resultados en tiempo real

    El otro área se actualiza automáticamente mientras escribes. Los errores (como Base64 inválido) se muestran inmediatamente.

  3. 3

    Copia el resultado

    Haz clic en el botón Copiar en cualquier lado para copiar el resultado codificado o decodificado al portapapeles.

Casos de uso comunes

Generación de URI de datos
Codifica imágenes o archivos a Base64 para incrustarlos directamente en HTML o CSS como URI de datos.
Depuración de JWT
Decodifica los encabezados y payloads de tokens JWT codificados en Base64 para inspeccionar claims y tiempos de expiración.
Desarrollo de APIs
Codifica datos binarios para transmisión en APIs JSON, o decodifica respuestas Base64 para inspección.
Codificación de correo electrónico
Codifica o decodifica contenido de correo electrónico y adjuntos codificados con MIME.
Inspección de certificados
Decodifica certificados y claves codificados en PEM para examinar su contenido binario.
Incrustación de configuración
Codifica datos de configuración o secretos para una incrustación segura en variables de entorno o archivos de configuración.

Detalles técnicos

Conforme a RFC 4648
Implementa la codificación Base64 estándar definida en RFC 4648, usando el alfabeto A-Z, a-z, 0-9, +, / con relleno =.
UTF-8 mediante TextEncoder
Usa la API Web TextEncoder para convertir cadenas Unicode a bytes UTF-8 antes de codificar, asegurando el correcto manejo de todos los scripts y emojis.
Procesamiento en el navegador
Toda la codificación usa los métodos nativos btoa()/atob() con TextEncoder/TextDecoder — sin bibliotecas externas, sin llamadas al servidor.

Buenas prácticas

No uses Base64 para seguridad
Base64 es codificación, no cifrado. Nunca lo uses para 'proteger' contraseñas, tokens o datos sensibles — siempre usa cifrado adecuado.
Ten en cuenta el aumento de tamaño
Base64 añade ~33% de sobrecarga. Para archivos grandes, considera la transferencia binaria en lugar de la codificación Base64.
Usa codificación UTF-8
Siempre codifica el texto a bytes UTF-8 antes de codificar en Base64 para asegurar que los caracteres no ASCII (chino, emojis) se manejen correctamente.

Preguntas frecuentes

¿Qué es la codificación Base64?
Base64 es un esquema de codificación binario a texto que representa datos binarios como una cadena de caracteres ASCII imprimibles. Convierte cada 3 bytes de entrada en 4 caracteres ASCII del conjunto A-Z, a-z, 0-9, + y /. El carácter '=' se usa para relleno cuando la longitud de entrada no es múltiplo de 3. Base64 está definido en RFC 4648 y se usa ampliamente en correo electrónico (MIME), URI de datos, JSON Web Tokens (JWT) y autenticación HTTP.
¿Son seguros mis datos al usar esta herramienta?
Sí, completamente. Toda la codificación y decodificación ocurre localmente en tu navegador usando las APIs nativas de JavaScript btoa(), atob(), TextEncoder y TextDecoder. Tus datos nunca abandonan tu dispositivo — no hay solicitudes al servidor, ni cookies, ni seguimiento analítico de tus entradas, ni almacenamiento de datos de ningún tipo.
¿Cómo maneja esta herramienta caracteres no ASCII como chino o emojis?
Esta herramienta primero convierte el texto de entrada a bytes UTF-8 usando la API TextEncoder, luego codifica esos bytes en Base64. Esto asegura que los caracteres fuera del rango ASCII — incluyendo chino (你好), japonés (こんにちは), árabe y emojis (🎉) — se codifiquen correctamente. Al decodificar, la herramienta invierte el proceso: Base64 → bytes → texto UTF-8 usando TextDecoder.
¿Es Base64 un cifrado?
No. Base64 es una codificación, no un cifrado. No proporciona ninguna seguridad — cualquiera puede decodificar una cadena Base64 de vuelta a los datos originales al instante. Base64 está diseñado para el transporte de datos (hacer que los datos binarios sean seguros para canales solo de texto), no para proteger secretos. Si necesitas proteger datos, usa un cifrado adecuado (AES, RSA) antes de codificar opcionalmente el resultado en Base64.
¿Dónde se usa comúnmente Base64?
Base64 se usa ampliamente en: (1) URI de datos — incrustar imágenes directamente en HTML/CSS como 'data:image/png;base64,...', (2) Correo electrónico — codificación MIME para adjuntos y contenido no ASCII, (3) JWT — los JSON Web Tokens codifican el encabezado y el payload en Base64URL, (4) HTTP Basic Auth — las credenciales se envían como 'usuario:contraseña' codificado en Base64, (5) APIs — transmisión de datos binarios en payloads JSON, (6) Certificados — el formato PEM envuelve los certificados codificados DER en Base64.
¿Cuál es la diferencia entre Base64 y Base64 seguro para URL?
El Base64 estándar usa los caracteres '+' y '/', que tienen un significado especial en las URLs. El Base64 seguro para URL (también definido en RFC 4648) reemplaza '+' por '-' y '/' por '_', haciendo que la salida sea segura para usar en URLs y nombres de archivo sin codificación adicional. Esta herramienta usa Base64 estándar. Para convertir, simplemente reemplaza + por - y / por _ en la salida.
¿Por qué Base64 aumenta el tamaño de los datos?
Base64 codifica 3 bytes de entrada en 4 caracteres de salida, lo que resulta en un aumento de tamaño de aproximadamente el 33%. Esto se debe a que Base64 usa solo 64 caracteres ASCII imprimibles (6 bits cada uno) para representar bytes de 8 bits. Por ejemplo, la cadena de 13 caracteres 'Hello, World!' se convierte en la cadena Base64 de 20 caracteres 'SGVsbG8sIFdvcmxkIQ=='. Esta compensación es aceptable porque los datos codificados son seguros para transmitirse a través de protocolos solo de texto.
¿Cómo codifico un archivo a Base64?
En macOS o Linux, usa la línea de comandos: base64 < myfile.png > myfile.b64. En Windows, usa PowerShell: [Convert]::ToBase64String([IO.File]::ReadAllBytes('myfile.png')). En JavaScript (Node.js), usa fs.readFileSync('myfile.png').toString('base64'). En Python, usa import base64; base64.b64encode(open('myfile.png','rb').read()). Esta herramienta del navegador maneja entradas de texto; para archivos binarios grandes, las herramientas de línea de comandos son más eficientes.
¿Puedo usar Base64 en HTML y CSS?
Sí. Base64 se usa comúnmente en URI de datos para incrustar recursos pequeños directamente en HTML o CSS, eliminando solicitudes HTTP adicionales. En HTML: . En CSS: background-image: url('data:image/svg+xml;base64,PHN2Zy...'). Esto es ideal para iconos pequeños y SVGs (menores de ~5 KB). Para archivos más grandes, las referencias a archivos separadas son más eficientes porque Base64 añade un 33% de sobrecarga y evita el caché del navegador.
¿Cuál es el tamaño máximo de entrada?
Esta herramienta basada en navegador maneja eficientemente texto de hasta unos 5 MB. Para archivos muy grandes o datos binarios, considera usar herramientas de línea de comandos como 'base64' (disponible en macOS y Linux) u 'openssl base64'. El estándar Base64 en sí no tiene límite de tamaño.
¿Qué caracteres forman el alfabeto Base64?
El alfabeto Base64 estándar (RFC 4648) consta de 64 caracteres: letras mayúsculas A-Z (valores 0-25), letras minúsculas a-z (valores 26-51), dígitos 0-9 (valores 52-61), signo más + (valor 62) y barra oblicua / (valor 63). El signo igual = se usa para relleno. La variante segura para URL (Base64URL) reemplaza + por - y / por _ para evitar conflictos con caracteres reservados de URL.
Necesito incrustar una imagen en una plantilla de correo HTML — ¿debo usar URI de datos Base64 o alojar la imagen externamente?
Para correo electrónico HTML, los URI de datos Base64 son en realidad el enfoque recomendado para imágenes pequeñas como logotipos e iconos. Muchos clientes de correo (Outlook, Gmail) bloquean agresivamente las imágenes alojadas externamente por defecto, requiriendo que los usuarios hagan clic en «Mostrar imágenes» para verlas. Incrustar imágenes como URI de datos Base64 (data:image/png;base64,...) evita este problema por completo — la imagen es parte del propio correo electrónico. La compensación es el tamaño del archivo: Base64 añade ~33% de sobrecarga, por lo que una PNG de 10 KB se convierte en ~13 KB en el correo. Mantén las imágenes incrustadas por debajo de 20 KB para una mejor compatibilidad.
¿Por qué mi cadena codificada en Base64 tiene caracteres + y / que rompen mis parámetros de URL?
El Base64 estándar usa + y / como dos de sus 64 caracteres, y ambos tienen un significado especial en las URLs (+ significa espacio, / es un separador de ruta). Cuando incluyes una cadena Base64 estándar en un parámetro de consulta de URL sin codificación, estos caracteres corrompen el valor. La solución es usar Base64 seguro para URL (también llamado Base64URL, definido en RFC 4648), que reemplaza + por - y / por _. Esta variante se usa en tokens JWT, flujos OAuth y cualquier valor Base64 que aparezca en URLs. Para convertir Base64 estándar a seguro para URL, simplemente reemplaza todos los + por - y todos los / por _ en la salida, y opcionalmente elimina los caracteres de relleno =.
Estoy intentando decodificar un token JWT — ¿cómo funciona la decodificación Base64URL y en qué se diferencia del Base64 estándar?
Un JWT (JSON Web Token) consta de tres partes separadas por puntos: encabezado.payload.firma. El encabezado y el payload están cada uno codificados con Base64URL — no Base64 estándar. Base64URL difiere del Base64 estándar en dos aspectos: usa - en lugar de + y _ en lugar de /, y omite los caracteres de relleno =. Para decodificar un JWT manualmente, divide el token por los puntos, toma el primer o segundo segmento, reemplaza - por + y _ por /, añade relleno = si es necesario para que la longitud sea múltiplo de 4, y luego decodifica en Base64. La mayoría de la depuración de JWT es más sencilla con un decodificador JWT dedicado, pero entender la codificación Base64URL ayuda cuando implementas el manejo de tokens en código o depuras valores de tokens sin procesar.

Herramientas relacionadas

Ver todas las herramientas →

Formateador y Validador JSON

Codificación y Formato

Formatea, valida y embellece JSON al instante en tu navegador. Herramienta gratuita con validación sintáctica, detección de errores, minificación y copia con un clic. 100% privado.

Conversor de Bases — Binario, Hex, Decimal, Octal

Herramientas de Conversión

Convierte números entre binario, hexadecimal, decimal, octal y cualquier base personalizada (2-36) al instante. Gratis, privado, sin registro — todo el procesamiento ocurre en tu navegador.

Comprimir Imágenes Online — JPEG, PNG y WebP

Herramientas de Conversión

Reduce el tamaño de las imágenes hasta un 80% — comprime JPEG, PNG y WebP en tu navegador, sin subir archivos. Lotes de 20 imágenes, ajusta la calidad, compara antes y después. Gratis y privado.

Convertidor de Longitud — Métrico e Imperial

Herramientas de Conversión

1 pulgada = 2,54 cm, 1 pie = 0,3048 m, 1 milla = 1,609 km. Convierte entre 16 unidades de longitud al instante — métrico, imperial, náutico y astronómico. Gratis, privado, funciona en tu navegador.

Generador de Hash MD5 Online y Verificador de Checksum

Herramientas de Seguridad

Genera hashes MD5, SHA-256, SHA-1 y SHA-512 gratis — 100% en tu navegador, sin registro. Hashea texto o archivos, verifica checksums y compara hashes con un clic. Tus datos permanecen privados.

Generador de Contraseñas Aleatorias y Seguras

Herramientas de Seguridad

Genera contraseñas seguras al instante — gratis, sin registro, 100% en tu navegador. Personaliza la longitud y los tipos de caracteres, genera hasta 50 contraseñas. Medidor de fortaleza con análisis de entropía.