Mode d’emploi
- Déposez un fichier sur la zone de dépôt ou cliquez dessus pour choisir un fichier sur votre appareil (100 Mo maximum).
- Choisissez la « Sortie » : Base64 brut pour les API et les fichiers de configuration, ou data URI pour HTML et CSS.
- N’activez l’option « Lignes de 76 caractères » que si la destination attend des lignes au format MIME, comme le corps d’un e-mail.
- Vérifiez le nom du fichier, le type MIME et les tailles, puis copiez le résultat ou téléchargez-le sous forme de fichier .txt.
Pourquoi encoder un fichier en Base64 ?
De nombreux formats qui transportent des données entre systèmes n’acceptent que du texte. JSON, XML, YAML, HTML et les en-têtes d’e-mail ne peuvent pas contenir n’importe quels octets, car un fichier peut renfermer des octets nuls, des séquences de caractères non valides ou des fins de ligne qu’un analyseur de texte modifierait. Base64 fait correspondre chaque groupe de 3 octets du fichier à 4 caractères tirés d’un jeu de 64 lettres, chiffres, + et / : n’importe quel fichier peut ainsi circuler sous forme de simple chaîne, puis être décodé en exactement les mêmes octets.
La contrepartie, c’est la taille : le texte encodé est environ 33 % plus volumineux que le fichier, et les sauts de ligne en ajoutent encore un peu. Un fichier de 3 Mo donne environ 4 Mo de Base64.
Usages courants
- API JSON et XML. Les points de terminaison qui n’acceptent pas l’envoi de formulaires multipart attendent souvent le fichier sous forme de chaîne Base64 dans un champ, avec son nom et son type dans d’autres champs.
- Pièces jointes d’e-mail. MIME encode les pièces jointes en Base64, en lignes de 76 caractères au maximum (RFC 2045). L’option « Lignes de 76 caractères » produit exactement cette mise en forme.
- Configuration et secrets. Les valeurs placées sous
datadans un Secret Kubernetes sont en Base64 : un certificat TLS, un keystore ou un fichier de licence doit donc être encodé avant d’entrer dans le manifeste. Les systèmes de CI stockent souvent les secrets binaires dans des variables d’environnement de la même façon. - Bases de données et code source. Un petit fichier binaire, comme une police, un son ou un jeu de données de test, peut être stocké dans une colonne de texte ou une constante de chaîne plutôt que dans un fichier séparé.
Pour les images, Image en Base64 permet en plus de redimensionner et fournit des extraits HTML et CSS prêts à l’emploi. Pour reconvertir du Base64 en fichier, utilisez Base64 en fichier.
Base64 brut ou data URI ?
Le Base64 brut ne contient que les octets encodés. C’est ce qu’attendent les API, Kubernetes, les bases de données et la plupart des bibliothèques de programmation, généralement accompagné d’un champ distinct pour le nom du fichier ou le type de contenu.
Un data URI ajoute un préfixe indiquant le type MIME, par exemple data:application/pdf;base64,, ce qui permet au navigateur d’utiliser la chaîne entière comme URL dans src, href ou dans la fonction CSS url(). N’envoyez pas ce préfixe à une API qui demande du Base64 simple : de nombreux décodeurs le rejettent. Pour définir vous-même le type MIME ou utiliser l’encodage-pourcent, essayez le générateur de data URI.
Laissez l’option « Lignes de 76 caractères » désactivée pour JSON, YAML et le code source. Une chaîne JSON ne peut pas contenir de sauts de ligne bruts, et les valeurs coupées sur plusieurs lignes se cassent facilement en YAML.
Encoder un fichier en ligne de commande
# Linux (GNU coreutils) : -w 0 désactive le retour à la ligne par défaut à 76 caractères
base64 -w 0 report.docx > report.txt
# macOS
base64 -i report.docx -o report.txt
# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\files\report.docx"))
# Kubernetes encode le fichier pour vous
kubectl create secret generic app-cert --from-file=tls.crt
Questions fréquentes
La taille des fichiers est-elle limitée ?
Vous pouvez encoder des fichiers jusqu’à 100 Mo. La sortie est environ un tiers plus volumineuse : un fichier de 100 Mo produit donc près de 133 Mo de texte. Afficher autant de texte peut ralentir la page ; pour les gros fichiers, utilisez « Télécharger » plutôt que de copier le contenu de la zone de sortie.
Mes fichiers sont-ils envoyés à un serveur ?
Non. Le fichier est lu et encodé par du JavaScript dans votre navigateur, et rien ne transite par le réseau : certificats, clés et documents privés restent sur votre appareil.
Base64 compresse-t-il ou chiffre-t-il le fichier ?
Ni l’un ni l’autre. Base64 rend les données environ 33 % plus volumineuses, et n’importe qui peut les décoder. Si le fichier doit rester confidentiel, chiffrez-le avant de l’encoder ; si la taille compte, compressez-le d’abord, par exemple dans une archive ZIP ou gzip.
Pourquoi la sortie contient-elle des sauts de ligne ?
L’option « Lignes de 76 caractères » est activée. Elle correspond au format MIME utilisé dans les e-mails, mais la plupart des API, des documents JSON et des manifestes Kubernetes attendent une seule ligne continue : désactivez-la dans ces cas.