Base64 a Archivo, Decodifica y Descarga Cualquier Archivo
Pega una cadena Base64 o un data URI y descarga el archivo real. Detecta automáticamente PDF, PNG, JPEG, ZIP, DOCX y muchos más. Funciona por completo en tu navegador.
Cargando Base64 a Archivo, Decodifica y Descarga Cualquier Archivo… Si no ocurre nada, activa JavaScript.
Base64 es la forma en que los archivos binarios viajan por canales que solo admiten texto. Una API devuelve una factura en PDF como una cadena larga, una columna de base de datos guarda un avatar en caracteres, una línea de registro contiene un adjunto, un data URI incrusta un icono en una hoja de estilos. Tarde o temprano necesitas recuperar el archivo, y un decodificador que solo imprime texto no sirve de nada: un PNG decodificado y mostrado como texto es un amasijo de caracteres ilegibles. Esta herramienta toma el Base64 y te devuelve el archivo de verdad, con el nombre y el tipo correctos, listo para abrir.
Preguntas frecuentes
¿Se suben mis datos Base64 a un servidor?
¿Cómo sabe la herramienta el tipo y la extensión del archivo?
¿Puedo pegar un data URI completo?
¿Y si el tipo detectado es incorrecto?
¿Funciona con Base64url de un JWT?
¿Por qué recibo un error de carácter inesperado?
¿Hay un límite de tamaño?
La vista previa sale en blanco pero la descarga funciona. ¿Por qué?
¿Puede decodificar una cadena Base64 que en realidad es solo texto?
¿Por qué el archivo descargado se abre con la aplicación equivocada?
Acerca de Base64 a Archivo, Decodifica y Descarga Cualquier Archivo
Pega la cadena y la decodificación ocurre mientras escribes. Puedes pegar solo el contenido Base64 o un data URI completo, como data:application/pdf;base64,JVBERi0xLjQK, en cuyo caso se aprovechan automáticamente el tipo MIME declarado y un posible parámetro name. Los saltos de línea, la indentación, las comillas alrededor y las comas finales que quedan al copiar desde JSON o desde un editor de código se eliminan por ti. También se acepta Base64url, la variante segura para URLs que usa - y _ en lugar de + y /, lo cual importa porque es lo que producen los JSON Web Token y muchas API, y el relleno que falta se restaura en vez de provocar un error.
Lo interesante es averiguar qué son realmente esos bytes. La herramienta lee el magic number, la firma corta que casi todos los formatos binarios tienen al principio, y reconoce PDF, PNG, JPEG, GIF, WebP, BMP, ICO, TIFF, SVG, MP3, WAV, OGG, FLAC, MP4, WebM, ZIP, GZIP, RAR, 7z, fuentes WOFF y TrueType, bases de datos SQLite y ejecutables de Windows. Los contenedores ZIP se inspeccionan un nivel más a fondo, de modo que un DOCX, XLSX, PPTX o archivo OpenDocument se identifica como tal y no como un comprimido genérico. Cuando el contenido resulta ser texto UTF-8 válido, se clasifica aún más, en JSON, XML, HTML, PEM o texto plano. El nombre de archivo, la extensión y el tipo MIME sugeridos se derivan de esa detección, y los tres siguen siendo editables si tú sabes más que el detector.
Antes de descargar puedes ver lo que has decodificado. Las imágenes, los PDF, el audio y el vídeo se previsualizan en la propia página, y los formatos de texto se muestran como texto, lo que suele bastar para confirmar que pegaste la cadena correcta. Todo funciona localmente: la decodificación, la detección de tipo y la vista previa ocurren en tu navegador mediante atob y la File API, y el archivo se genera a partir de un blob en memoria. No se sube nada, y eso es lo que la hace segura para documentos firmados, claves privadas, historiales médicos y cualquier otra cosa que no pegarías en un conversor que se ejecuta en un servidor.
El 33 % de Impuesto Que Todos Aceptaron Pagar
Base64 existe porque a la internet de los primeros tiempos no se le podía confiar el número 8. Muchos sistemas de correo de las décadas de 1970 y 1980 se apoyaban en ASCII de 7 bits, y algunos eliminaban deliberadamente el octavo bit o estropeaban los caracteres de control. Cualquier byte por encima de 127 podía destruirse en silencio durante el trayecto, lo que hacía imposible enviar un programa o una imagen por correo. La solución, formalizada en el RFC 989 en 1987 y refinada en las especificaciones MIME de 1992, fue dejar de pelearse con el canal: recodificar los datos usando solo caracteres que todos los sistemas ya manejaban bien, y aceptar el coste.
Ese coste es exactamente del 33 %, porque 3 bytes de entrada (24 bits) se convierten en 4 caracteres de salida (6 bits cada uno). Es un trato extraño, pagar un tercio más de ancho de banda por el privilegio de usar un canal más tonto, y se suponía que era temporal. En cambio, Base64 sobrevivió al problema que resolvía. El correo moderno es limpio a 8 bits y aun así los adjuntos se siguen codificando en Base64, porque cuando el transporte mejoró ya todos los clientes de correo del planeta se habían construido sobre esa suposición.
La idea se extendió después mucho más allá del correo. Los data URI meten imágenes Base64 directamente en HTML y CSS. JSON no tiene tipo binario, así que toda API que devuelve un archivo devuelve Base64. Los JWT, los certificados TLS en formato PEM, las claves SSH, los mensajes PGP y los secrets de Kubernetes van todos envueltos en Base64. Este último caso provoca un malentendido recurrente que conviene repetir: Base64 no es cifrado. Un secret de Kubernetes guardado en Base64 es legible por cualquiera capaz de ejecutar un decodificador, es decir, por todo el mundo. Codificar oculta los datos de una capa de transporte, no de una persona.