BrowserTools
Accueil / Encodeurs / Base64 vers Fichier, Décoder et Télécharger N'importe Quel Fichier

Base64 vers Fichier, Décoder et Télécharger N'importe Quel Fichier

Collez une chaîne Base64 ou un data URI et téléchargez le vrai fichier. Détection automatique des PDF, PNG, JPEG, ZIP, DOCX et bien d'autres. Tout se passe dans votre navigateur.

Chargement de Base64 vers Fichier, Décoder et Télécharger N'importe Quel Fichier… Si rien ne se passe, activez JavaScript.

Le Base64 est la façon dont les fichiers binaires circulent dans des canaux qui n'acceptent que du texte. Une API renvoie une facture PDF sous forme de longue chaîne, une colonne de base de données stocke un avatar en caractères, une ligne de journal contient une pièce jointe, un data URI intègre une icône dans une feuille de style. Tôt ou tard, il faut récupérer le fichier, et un décodeur qui se contente d'afficher du texte ne sert à rien : un PNG décodé puis affiché en texte n'est qu'un amas de caractères illisibles. Cet outil prend le Base64 et vous rend le fichier réel, correctement nommé et typé, prêt à être ouvert.

Questions fréquentes

Mes données Base64 sont-elles envoyées à un serveur ?
Non. Le décodage, la détection de type, l'aperçu et le téléchargement se font tous dans votre navigateur grâce à la fonction atob et à l'API Blob. La page n'effectue aucune requête réseau avec vos données, le contenu ne quitte donc jamais votre appareil. C'est ce qui rend l'outil utilisable avec des documents confidentiels, des certificats et des clés privées.
Comment l'outil devine-t-il le type et l'extension du fichier ?
Il lit le magic number, la signature d'octets fixe présente au début de presque tous les formats binaires : %PDF- pour le PDF, la séquence 89 50 4E 47 pour le PNG, FF D8 FF pour le JPEG, PK pour le ZIP, et ainsi de suite. Les fichiers ZIP sont examinés un peu plus en profondeur, car DOCX, XLSX, PPTX et OpenDocument sont tous des conteneurs ZIP qui ne diffèrent que par les entrées qu'ils contiennent. Si les octets forment du texte UTF-8 valide, il cherche plutôt une structure JSON, XML, HTML ou PEM.
Puis-je coller un data URI complet ?
Oui, c'est le cas le plus simple. Collez le tout, y compris le préfixe data:image/png;base64,. Le préfixe est retiré, le type MIME déclaré est utilisé et un paramètre name, s'il existe, devient le nom de fichier proposé. La détection continue de s'exécuter et vous recevez un avertissement si le type déclaré ne correspond pas à ce que les octets semblent être.
Et si le type détecté est faux ?
Remplacez-le. Le nom de fichier, l'extension et le type MIME sont des champs modifiables et, dès que vous en modifiez un, l'outil cesse de l'écraser avec sa propre supposition. Cela compte pour les formats qui partagent une signature, comme les nombreux formats de document basés sur ZIP, ou pour les fichiers sans extension dont vous seul connaissez la destination.
Gère-t-il le Base64url d'un JWT ?
Oui. L'alphabet compatible URL, qui remplace + par - et / par _, est reconverti automatiquement, et le remplissage = manquant est rétabli. Notez qu'un JWT complet comporte trois segments Base64url séparés par des points : ne collez donc que le segment à décoder. Pour inspecter un jeton correctement, utilisez plutôt le décodeur JWT.
Pourquoi ai-je une erreur de caractère inattendu ?
Quelque chose dans la chaîne ne fait pas partie de l'alphabet Base64. Le message indique le caractère et sa position pour vous aider à le trouver. Les causes fréquentes sont une copie tronquée, une valeur échappée en HTML quelque part en chemin (+ au lieu de +), ou des séquences d'échappement JSON qui ont survécu à la copie. Les espaces et les retours à la ligne ne posent pas de problème, ils sont supprimés automatiquement.
Y a-t-il une limite de taille ?
Il n'y a pas de limite fixe, seulement la mémoire de votre appareil. Le Base64 pèse environ 33 % de plus que le binaire qu'il encode, et le décodeur conserve simultanément la chaîne et les octets décodés : quelques centaines de mégaoctets de Base64 peuvent donc mettre un onglet en difficulté, surtout sur un téléphone. Les fichiers jusqu'à quelques dizaines de mégaoctets se décodent sans peine.
L'aperçu est vide mais le téléchargement fonctionne. Pourquoi ?
L'aperçu dépend de la capacité du navigateur à afficher ce format. Un aperçu PDF nécessite la visionneuse PDF intégrée, que certaines configurations désactivent, et un aperçu vidéo nécessite un codec pris en charge. Les octets décodés ne sont pas en cause : si le téléchargement produit un fichier qui s'ouvre correctement dans une application normale, le décodage était bon.
Peut-il décoder une chaîne Base64 qui n'est en fait que du texte ?
Oui, et il vous le dira : le type détecté apparaît comme text/plain, JSON ou XML, et le contenu s'affiche dans le panneau d'aperçu pour que vous puissiez le lire sans rien télécharger. Si lire le texte est tout ce dont vous avez besoin, l'encodeur et décodeur Base64 généraliste est la page la plus simple pour cela.
Pourquoi le fichier téléchargé s'ouvre-t-il avec la mauvaise application ?
Les systèmes d'exploitation choisissent l'application d'après l'extension, pas d'après le type MIME. Si le champ extension indique bin parce que le format n'a pas été reconnu, saisissez la bonne avant de télécharger. À l'inverse, changer l'extension ne convertit rien : les octets restent ceux qu'encodait le Base64, et renommer un PNG en .jpg n'en fait pas un JPEG.

À propos de Base64 vers Fichier, Décoder et Télécharger N'importe Quel Fichier

Collez la chaîne et le décodage se fait au fur et à mesure de la saisie. Vous pouvez coller uniquement la charge utile Base64 ou un data URI complet, comme data:application/pdf;base64,JVBERi0xLjQK, auquel cas le type MIME déclaré et un éventuel paramètre name sont repris automatiquement. Les retours à la ligne, l'indentation, les guillemets autour et les virgules finales laissés par une copie depuis du JSON ou un éditeur de code sont supprimés pour vous. Le Base64url, la variante compatible URL qui utilise - et _ au lieu de + et /, est également accepté, ce qui compte car c'est ce que produisent les JSON Web Tokens et de nombreuses API, et le remplissage manquant est rétabli au lieu de déclencher une erreur.

Le plus intéressant est de déterminer ce que sont réellement ces octets. L'outil lit le magic number, la courte signature présente au début de presque tous les formats binaires, et reconnaît PDF, PNG, JPEG, GIF, WebP, BMP, ICO, TIFF, SVG, MP3, WAV, OGG, FLAC, MP4, WebM, ZIP, GZIP, RAR, 7z, les polices WOFF et TrueType, les bases SQLite et les exécutables Windows. Les conteneurs ZIP sont inspectés un cran plus loin, de sorte qu'un DOCX, XLSX, PPTX ou fichier OpenDocument est identifié comme tel plutôt que comme une archive générique. Lorsque le contenu s'avère être du texte UTF-8 valide, il est classé plus finement en JSON, XML, HTML, PEM ou texte brut. Le nom de fichier, l'extension et le type MIME proposés découlent de cette détection, et les trois restent modifiables si vous en savez plus que le détecteur.

Avant de télécharger, vous pouvez voir ce que vous avez décodé. Les images, les PDF, l'audio et la vidéo sont prévisualisés sur place, et les formats texte sont affichés en texte, ce qui suffit généralement à confirmer que vous avez collé la bonne chaîne. Tout fonctionne localement : le décodage, la détection de type et l'aperçu se font dans votre navigateur via atob et la File API, et le fichier est produit à partir d'un blob en mémoire. Rien n'est envoyé, et c'est ce qui rend l'outil sûr pour des documents signés, des clés privées, des dossiers médicaux et tout ce que vous ne colleriez pas dans un convertisseur exécuté sur un serveur.

Les 33 % de Taxe Que Tout le Monde a Accepté de Payer

Le Base64 existe parce qu'on ne pouvait pas confier le chiffre 8 à l'internet des débuts. Beaucoup de systèmes de messagerie des années 1970 et 1980 reposaient sur l'ASCII 7 bits, et certains supprimaient délibérément le huitième bit ou abîmaient les caractères de contrôle. Tout octet supérieur à 127 pouvait être détruit silencieusement en chemin, ce qui rendait impossible l'envoi d'un programme ou d'une image par courriel. La parade, formalisée par le RFC 989 en 1987 puis affinée dans les spécifications MIME de 1992, a été d'arrêter de se battre contre le tuyau : réencoder les données avec les seuls caractères que tous les systèmes traitaient déjà sans risque, et en accepter le coût.

Ce coût est exactement de 33 %, puisque 3 octets d'entrée (24 bits) deviennent 4 caractères de sortie (6 bits chacun). C'est un marché étrange, payer un tiers de bande passante en plus pour le privilège d'utiliser un canal plus bête, et ce devait être temporaire. Le Base64 a au contraire survécu au problème qu'il résolvait. La messagerie moderne est propre sur 8 bits, et pourtant les pièces jointes sont toujours encodées en Base64, car le temps que le transport s'améliore, tous les clients de messagerie de la planète avaient été bâtis sur cette hypothèse.

L'idée s'est ensuite répandue bien au-delà du courriel. Les data URI insèrent des images Base64 directement dans le HTML et le CSS. JSON n'a pas de type binaire, donc toute API qui renvoie un fichier renvoie du Base64. Les JWT, les certificats TLS au format PEM, les clés SSH, les messages PGP et les secrets Kubernetes sont tous enveloppés en Base64. Ce dernier cas entretient un malentendu tenace qu'il vaut la peine de répéter : le Base64 n'est pas du chiffrement. Un secret Kubernetes stocké en Base64 est lisible par quiconque sait lancer un décodeur, c'est-à-dire par n'importe qui. L'encodage cache les données à une couche de transport, pas à une personne.

Soutenir