Mode d’emploi
- Collez la chaîne Base64 ou le data URI complet dans la zone de saisie. Les espaces et les sauts de ligne n’ont aucune importance.
- Vérifiez le type de fichier détecté et sa taille. Les images, PDF, fichiers audio, vidéos et textes s’affichent dans un aperçu.
- Téléchargez le fichier. Il est enregistré avec un nom et une extension correspondant au type détecté.
Comment le type de fichier est détecté
Un texte Base64 transporte des octets, pas un nom de fichier. À moins de coller un data URI accompagné d’un type MIME, rien dans la chaîne n’indique s’il s’agit d’un PDF, d’une archive ZIP ou d’un son. L’outil décode donc les données et examine les premiers octets, c’est-à-dire la signature du fichier ou « octets magiques », que la plupart des formats placent tout au début. Comme ces octets sont fixes, le texte Base64 de chaque format commence lui aussi de façon reconnaissable :
| Format | Premiers octets | Début du Base64 |
|---|---|---|
%PDF | JVBER | |
| PNG | 89 50 4E 47 | iVBORw0KGgo |
| JPEG | FF D8 FF | /9j/ |
| GIF | GIF8 | R0lGOD |
| ZIP (ainsi que DOCX, XLSX, JAR) | PK 03 04 | UEsDB |
| MP3 avec balise ID3 | ID3 | SUQz |
| WAV, WebP, AVI (RIFF) | RIFF | UklGR |
Quand le fichier décodé refuse de s’ouvrir
Le décodage Base64 est sans perte : un fichier endommagé signifie donc presque toujours que l’entrée n’était pas celle que vous pensiez. Vérifiez ces causes dans l’ordre :
- Entrée tronquée. Les fichiers journaux, les terminaux, les cellules de tableur et les messageries coupent souvent les longues chaînes. S’il manque du texte à la fin, le fichier est trop court et la plupart des formats refusent alors de s’ouvrir. Si vous connaissez la taille d’origine, comparez-la à la taille décodée.
- Caractères en trop. Des guillemets, des virgules ou un nom de champ copiés avec la valeur, ou encore des séquences d’échappement comme
\/et\nprovenant d’une chaîne JSON, ne font pas partie du Base64. Copiez uniquement la valeur elle-même. - Un autre encodage ou une autre variante. L’hexadécimal, le Base32, le Base85 ou un alphabet personnalisé peuvent se ressembler au premier coup d’œil, mais ne donnent que des données incohérentes une fois décodés comme du Base64. Le détecteur d’encodage essaie tous les décodeurs et indique celui qui convient.
- Ce n’est pas un fichier du tout. Si le résultat est détecté comme du texte brut, la chaîne était le Base64 d’un texte : du JSON, un jeton ou une autre couche de Base64. Lisez-le avec le décodeur Base64, et décodez encore une fois si le résultat est à nouveau du Base64.
Le validateur Base64 liste les caractères non valides avec leur position et signale les problèmes de remplissage, ce qui aide à repérer une partie endommagée.
Décoder du Base64 en fichier dans votre code
# Python
import base64
with open('output.bin', 'wb') as f:
f.write(base64.b64decode(data))
// Node.js
fs.writeFileSync('output.bin', Buffer.from(data, 'base64'));
# Linux
base64 -d input.txt > output.bin
# macOS
base64 -D -i input.txt -o output.bin
# Windows PowerShell
[IO.File]::WriteAllBytes("C:\files\output.bin", [Convert]::FromBase64String((Get-Content input.txt -Raw)))
Questions fréquentes
Quels types de fichiers peuvent être détectés ?
Les formats courants dotés d’une signature claire : PDF ; archives ZIP, GZIP, 7z et RAR ; images PNG, JPEG, GIF, WebP et autres ; audio MP3, WAV, OGG, FLAC et M4A ; vidéo MP4 et WebM ; polices WOFF, WOFF2, TTF et OTF ; WebAssembly et bien d’autres. Le JSON, le XML, le HTML et le texte brut sont aussi reconnus. Les formats sans signature ne peuvent pas être identifiés : si vous connaissez le type réel, renommez le fichier téléchargé.
Pourquoi mon fichier Word ou Excel est-il détecté comme ZIP ?
Les fichiers DOCX, XLSX et PPTX, tout comme les EPUB et les JAR, sont des archives ZIP contenant une arborescence de dossiers particulière, et ils commencent par les mêmes octets magiques que n’importe quel fichier ZIP. Les octets décodés sont corrects : renommez le fichier téléchargé en .docx, .xlsx ou avec l’extension dont vous avez besoin, et il s’ouvrira normalement.
Puis-je coller un data URI ?
data:...;base64, compris, ou seulement la partie Base64. Dans les deux cas, le type est vérifié à partir des octets décodés.Pourquoi le fichier décodé est-il plus petit que le texte Base64 ?
Base64 utilise 4 caractères pour 3 octets : le fichier fait donc environ les trois quarts de la longueur du texte. S’il est beaucoup plus petit que le fichier attendu, l’entrée a probablement été tronquée.
Mes données sont-elles envoyées quelque part ?
Non. Le décodage, la détection du type et l’aperçu s’exécutent tous dans votre navigateur, et le fichier téléchargé est créé sur votre appareil. Rien n’est envoyé.