Codificador y decodificador Base64

Codifica texto o un archivo a Base64, o decodifícalo.

Qué es Base64 y cuándo usarlo

Base64 es una forma de representar datos binarios arbitrarios usando 64 caracteres ASCII imprimibles: A–Z, a–z, 0–9, más y barra, con = como relleno. Cada 3 bytes de entrada se convierten en 4 caracteres de salida, así que los datos codificados son alrededor de un 33% más grandes que el original. Existe porque muchos canales se diseñaron solo para texto: adjuntos de correo (MIME), cargas útiles JSON y XML, cabeceras de autenticación HTTP Basic, tokens JWT y data URLs que incrustan una imagen directamente dentro de HTML o CSS. Base64 es una codificación, no cifrado: cualquiera puede decodificarlo, así que nunca lo uses para ocultar secretos.

La variante segura para URL (RFC 4648 §5) reemplaza + por - y / por _ y normalmente elimina el relleno = para que el resultado se pueda colocar en URLs, nombres de archivo y cookies sin necesidad de escaparlo. Los JWT usan esta forma. El decodificador de esta página acepta ambas variantes y tolera la falta de relleno, así que puedes pegar directamente un segmento de un JWT.

Cómo usar esta herramienta

Escribe o pega texto y se codifica a medida que escribes. El texto se trata como UTF-8, así que el chino, los emoji y cualquier otro carácter Unicode se convierten correctamente de ida y vuelta, un error frecuente en implementaciones ingenuas que usan btoa() directamente. Marca la variante segura para URL para obtener el alfabeto -/_ sin relleno. Haz clic en Archivo para elegir cualquier archivo: imágenes, PDF, fuentes o comprimidos se leen localmente y se codifican; para las imágenes la salida es un data URL completo que puedes pegar directamente en un <img src> o en un fondo de CSS.

Para decodificar, cambia a Decodificar y pega el Base64 (también funciona un data URL completo). Si el resultado es texto UTF-8 válido se muestra en el cuadro de salida; si es binario, la herramienta detecta los formatos comunes (PNG, JPEG, GIF, WebP, PDF, ZIP), previsualiza las imágenes en línea y te permite descargar el archivo decodificado. Intercambiar mueve la salida de vuelta a la entrada para que puedas verificar una conversión de ida y vuelta con un solo clic.

Privacidad y límites

Los archivos nunca salen de tu computadora. Se leen con la File API del navegador, se codifican en memoria y se te muestran; no se sube nada. Como todo se ejecuta del lado del cliente, el límite práctico es la memoria de tu dispositivo: archivos de decenas de megabytes funcionan bien, aunque el cuadro de texto de salida se vuelve lento al desplazarse. Para archivos muy grandes, descarga el resultado en lugar de copiarlo.

Contexto: un mundo solo de texto

Base64 surgió de las limitaciones del correo electrónico temprano. SMTP se diseñó para texto ASCII de 7 bits, así que adjuntar un archivo binario significaba primero traducirlo a caracteres imprimibles; uuencode hacía esto en los años ochenta, y el estándar MIME (RFC 2045, 1996) definió el alfabeto Base64 que todavía se usa hoy. RFC 4648 (2006) reunió después las variantes: Base64 estándar, la forma segura para URL y nombres de archivo, y Base32/Base16. La proporción de 3 bytes a 4 caracteres es la razón por la que los datos codificados son exactamente 4/3 del tamaño original más el relleno, un costo que importaba con la conexión telefónica y que sigue importando para las imágenes incrustadas en CSS.

Dónde se usa

Los adjuntos de correo siguen siendo Base64 por debajo. Los data URLs incrustan imágenes y fuentes pequeñas directamente en HTML y CSS para ahorrar una petición: comprime la imagen primero, porque Base64 añade un 33% sobre el tamaño que le des. La autenticación HTTP Basic envía usuario:contraseña como Base64 (no cifrado; usa siempre HTTPS). Los tokens JWT son tres segmentos Base64 seguros para URL unidos por puntos; la cabecera y la carga útil se decodifican a JSON. Los Secrets de Kubernetes, las políticas IAM en la nube, las URLs con codificación por porcentaje que llevan valores Base64, los resúmenes SHA-256 en atributos de Subresource Integrity, las aserciones SAML, los certificados PEM (el bloque entre las líneas BEGIN y END) y los campos binarios dentro de APIs JSON lo usan porque estos sistemas solo pueden transportar texto. Cuando te encuentres una cadena larga que termina en = o que contiene solo letras, dígitos, + y /, casi con seguridad es Base64, y pegarla aquí es la forma más rápida de descubrir qué contiene.

Preguntas frecuentes

¿Es seguro Base64?

No. Es una codificación reversible, no cifrado. Cualquiera puede decodificarlo al instante. Úsalo para transporte e incrustación, nunca para ocultar datos.

¿Por qué mi texto decodificado sale como caracteres extraños?

El original probablemente no era texto UTF-8, o era binario. Esta herramienta decodifica como UTF-8 y recurre a una descarga de archivo cuando los bytes no son texto válido.

¿Qué es un data URL?

Una URL con la forma data:image/png;base64,... que incrusta el contenido del archivo en línea. Los navegadores la muestran directamente, lo cual es útil para íconos pequeños en HTML/CSS o para correos.

¿Por qué la salida codificada termina con signos =?

El relleno hace que la longitud sea un múltiplo de 4. Es obligatorio en Base64 estándar pero opcional en la variante segura para URL; el decodificador de aquí acepta la entrada con relleno o sin él.

¿Puedo decodificar un JWT con esto?

Sí para la cabecera y la carga útil: pega el segmento que está entre los puntos. Ten en cuenta que el segmento de la firma es binario y no se puede leer como texto.