Conversor de Archivo a Base64 (con soporte de data URI, en ambos sentidos)

Convierte cualquier archivo (imagen, PDF, etc.) a una cadena Base64 o data URI, o decodifica una cadena Base64 / data URI de vuelta a un archivo descargable. Todo se procesa en tu navegador; los archivos nunca se envían a un servidor.

Consejos

  • El modo Archivo → Base64 acepta cualquier tipo de archivo (imágenes, PDF, audio, etc.) y te permite copiar tanto el data URI como la cadena Base64 simple.
  • En el modo Base64 → Archivo, pega un data URI completo que empiece por data: y el tipo MIME se detectará automáticamente. Para una cadena Base64 simple, selecciona el tipo MIME manualmente.
  • Toda la conversión se ejecuta enteramente en el JavaScript de tu navegador: el contenido del archivo o la cadena Base64 nunca se envía a un servidor, lo que la hace segura para archivos sensibles.
  • Para incrustar un pequeño icono directamente en CSS o HTML, pega la salida del data URI tal cual en background-image: url(...) o en el atributo src de una etiqueta <img>.
  • La codificación Base64 hace que el resultado sea aproximadamente un 33% más grande que el archivo original, por lo que convertir archivos muy grandes (decenas de megabytes o más) puede hacer que el navegador se sienta lento.

Preguntas frecuentes

Base64 es un esquema de codificación que representa datos binarios (imágenes, audio, ejecutables o cualquier otro formato) usando solo 64 caracteres ASCII imprimibles: A-Z, a-z, 0-9, + y /. No es cifrado: es simplemente una forma de representar bytes arbitrarios como texto seguro e imprimible.

Un data URI incrusta el contenido de un archivo directamente dentro de una URL como una cadena codificada en Base64, como data:image/png;base64,iVBOR.... Como también incluye el tipo MIME, puedes usarlo directamente en el atributo src de una etiqueta <img> o en un background-image de CSS para mostrar la imagen.

No. La conversión de esta herramienta (codificación y decodificación mediante FileReader y Blob) se ejecuta por completo como JavaScript dentro de tu navegador. Ni el contenido del archivo ni la cadena Base64 resultante se envían nunca a un servidor.

Sí. Si el texto pegado no es un data URI completo que empiece por data:, aparece un menú desplegable de tipo MIME; elige manualmente el formato original del archivo (imagen, PDF, texto, etc.) antes de descargarlo.

Base64 reempaqueta datos binarios de 8 bits en caracteres de 6 bits, por lo que el resultado codificado ocupa aproximadamente 4/3 del tamaño original, es decir, un aumento de alrededor del 33%. Esta sobrecarga es una propiedad inevitable de cómo funciona la codificación Base64.
ツールくん

A propósito — Por qué Base64 hace que los archivos sean un 33% más grandes

La codificación Base64 existe porque muchos canales de transporte (el correo electrónico, JSON, las URL) solo pueden transportar de forma segura texto ASCII imprimible. Enviar datos binarios arbitrarios (como una imagen o un ejecutable) tal cual corre el riesgo de corrupción por caracteres de control perdidos, así que se ideó Base64 para representar cualquier contenido binario usando solo 64 caracteres imprimibles: A-Z, a-z, 0-9, + y /.

Base64 divide 3 bytes (24 bits) de datos binarios en cuatro fragmentos de 6 bits y asigna cada fragmento a un carácter Base64. Reempaquetar datos binarios de 8 bits en caracteres de 6 bits hace que el resultado codificado termine ocupando aproximadamente 4/3 del tamaño original, es decir, alrededor de un 33% más grande. Ese aumento de tamaño es el precio que se paga por un transporte seguro como texto.

Este mismo truco se aprovecha en los data URI, que incrustan imágenes pequeñas directamente en HTML o CSS como data:image/png;base64,.... Hacerlo evita una solicitud HTTP adicional para recursos diminutos como los iconos, lo que puede acelerar la carga de la página. Sin embargo, la sobrecarga de tamaño de aproximadamente el 33% y la pérdida del almacenamiento en caché del navegador lo hacen poco adecuado para archivos de imagen grandes.