Langue : Français

tools / base64

base64/

Convertissez du texte, des fichiers et des images vers et depuis Base64. UTF-8, avec prise en charge de la variante compatible URL.

Texte brut

Base64

Questions fréquentes

Que faire si le décodage indique « Contient des caractères non Base64 » ou « Longueur non valide » ?

Vérifiez d'abord que le texte est complet et propre. Les caractères acceptés sont A–Z, a–z, 0–9, + et /, ainsi que - et _ de la variante compatible URL ; = ne peut apparaître qu'à la fin. Les espaces, les sauts de ligne et un préfixe data:...;base64, au début sont ignorés automatiquement. Les symboles pleine largeur, les guillemets et les restes d'encodage URL comme %2B déclenchent « Contient des caractères non Base64 », tandis que « Longueur non valide » signifie le plus souvent que des caractères ont été perdus à la copie.

Que faire si le décodage indique « Ce contenu n'est pas du texte UTF-8 » ou si le résultat est illisible ?

Les octets décodés ne sont pas du texte UTF-8. Souvent, l'original utilisait un autre encodage comme GBK, ou bien ce sont des données binaires dès le départ : image, archive, octets chiffrés. Cet outil n'affiche que du texte UTF-8 et ne force pas un autre encodage en caractères illisibles. Pour des données binaires, cliquez sur « Télécharger le fichier » pour les enregistrer ; un texte GBK demande un outil capable de convertir depuis GBK.

Pourquoi mon résultat diffère-t-il de celui de JavaScript, Python ou de la ligne de commande ?

Les causes les plus fréquentes sont un saut de ligne final ou un encodage de caractères différent. Cet outil encode exactement le contenu du champ en UTF-8, sans supprimer les espaces ni les sauts de ligne, alors que echo en ligne de commande ajoute par défaut un saut de ligne à la fin : utilisez echo -n pour obtenir le même résultat. Pour le texte en chinois et les emoji, vérifiez que l'autre côté utilise aussi UTF-8 : btoa de JavaScript renvoie une erreur sur ces caractères, et en Python il faut faire encode('utf-8') avant b64encode.

Puis-je retirer le = final, et que signifie « Compatible URL » ?

Au décodage, un = manquant ne pose pas de problème : l'outil le rajoute. À l'envoi, cela dépend du destinataire, certaines bibliothèques l'exigent. Le mode « Compatible URL » remplace + par - et / par _, et supprime le = final ; il convient aux paramètres d'URL et aux noms de fichiers, et les JWT utilisent cette forme. Au décodage, - et _ sont reconnus automatiquement, il n'y a rien à changer.

Y a-t-il une limite de taille pour convertir un fichier en Base64 ?

Oui, un fichier peut faire 20 MB au maximum ; au-delà, il est refusé avec un message. Par défaut, le résultat est une Data URL avec un préfixe comme data:image/png;base64, que vous pouvez coller directement dans l'adresse d'image d'une page web ou dans du CSS ; pour obtenir seulement le Base64 brut, supprimez tout ce qui précède la virgule, virgule comprise. Le Base64 augmente la taille des données d'environ un tiers, il est donc déconseillé d'intégrer de grandes images.

Comment retransformer du Base64 en image ou en fichier ?

Passez sur « Décoder », puis collez le Base64 ou une Data URL complète. Les images reconnues (PNG, JPEG, GIF, WebP) s'affichent en aperçu, le texte s'affiche directement et les autres données binaires n'affichent que leur taille. Dans tous les cas, vous pouvez cliquer sur « Télécharger le fichier » pour enregistrer le résultat : les images sont nommées d'après leur format, tout le reste est enregistré sous le nom decoded.bin, à vous de corriger l'extension si besoin.

Le Base64 est-il un chiffrement ? Peut-il garder des données secrètes ?

Non. Le Base64 se contente de réécrire des octets en caractères imprimables, et n'importe qui peut l'inverser ; il n'y a ni clé ni confidentialité. Si vous avez besoin de confidentialité, utilisez un vrai algorithme de chiffrement comme AES.

Mon texte et mes fichiers sont-ils envoyés quelque part ?

Non. L'encodage et le décodage se font dans votre navigateur, et un fichier choisi n'est lu que sur votre appareil, jamais envoyé à un serveur.