Comment décoder le Base64 : méthodes, outils et exemples de code
Comment décoder le Base64 : méthodes rapides
Le Base64 est un encodage binaire-vers-texte qui représente des données binaires sous forme de chaînes ASCII. Le décodage convertit le texte Base64 en données d'origine. Voici les méthodes les plus rapides :
Méthode | Idéale pour | Niveau requis |
|---|---|---|
Décodage rapide, ponctuel | Aucune programmation requise | |
JavaScript (atob / Buffer) | Applications navigateur et Node.js | JavaScript de base |
Python (module base64) | Scripts et automatisation | Python de base |
Ligne de commande (base64) | Scripts shell | Familiarité avec la CLI |
Qu'est-ce que l'encodage Base64 ?
Le Base64 est un schéma d'encodage qui convertit des données binaires en format texte en utilisant 64 caractères ASCII imprimables (A-Z, a-z, 0-9, +, /). Ce n'est pas du chiffrement - le Base64 n'offre aucune sécurité. Il est utilisé lorsque des données binaires doivent être transmises via des canaux texte uniquement.
Son fonctionnement :
Original : "Hello" Binaire : 01001000 01100101 01101100 01101100 01101111 Base64 : SGVsbG8=
Encodage : 3 octets en entrée -> 4 caractères Base64 Rembourrage : les signes = complètent le dernier groupe si nécessaire
Utilisations courantes du Base64 :
Pièces jointes d'e-mail - l'encodage MIME envoie des fichiers binaires via des protocoles de messagerie texte
URI de données - intégration d'images directement en HTML/CSS (
data:image/png;base64,...)Charges utiles d'API - envoi de données binaires (images, fichiers) dans des requêtes API JSON
Authentification - l'authentification HTTP Basic encode les identifiants en Base64 (nom d'utilisateur:mot de passe)
Tokens JWT - les JSON Web Tokens utilisent l'encodage Base64URL pour l'en-tête et la charge utile
Utilisez le Encodeur Base64 gratuit de Qodex pour encoder des données, ou le Décodeur Base64 pour les décoder.
Méthode 1 : Décodeur en ligne gratuit (sans code)
La façon la plus rapide de décoder du Base64 est d'utiliser le Décodeur Base64 gratuit de Qodex :
Collez la chaîne encodée en Base64
Cliquez sur décoder - le texte original ou les données binaires apparaissent instantanément
Copiez la sortie décodée ou téléchargez-la en tant que fichier
Cela fonctionne pour les chaînes texte, les fichiers encodés, les charges utiles JWT et les URI de données. Aucun compte requis.
Méthode 2 : JavaScript
JavaScript fournit un décodage Base64 intégré dans les environnements navigateur et Node.js :
Navigateur (atob)
// Décoder le Base64 en chaîne const decoded = atob("SGVsbG8gV29ybGQ="); console.log(decoded); // "Hello World"
// Décoder le Base64 en binaire (pour fichiers/images) const base64 = "iVBORw0KGgo..."; // Image Base64 const binary = atob(base64); const bytes = new Uint8Array(binary.length); for (let i = 0; i < binary.length; i++) { bytes[i] = binary.charCodeAt(i); } const blob = new Blob([bytes], { type: "image/png" });
Node.js (Buffer)
// Décoder le Base64 en chaîne const decoded = Buffer.from("SGVsbG8gV29ybGQ=", "base64").toString("utf-8"); console.log(decoded); // "Hello World"
// Décoder le Base64 en fichier const fs = require("fs"); const base64Data = "iVBORw0KGgo..."; fs.writeFileSync("image.png", Buffer.from(base64Data, "base64"));
Remarque : Pour le Base64 sécurisé pour les URL (utilisé dans les JWT), remplacez - par + et _ par / avant le décodage, ou utilisez Buffer.from(data, "base64url") dans Node.js 16+.
Méthode 3 : Python
Le module base64 intégré de Python gère toutes les opérations Base64 :
import base64# Décoder le Base64 en chaîne encoded = "SGVsbG8gV29ybGQ=" decoded = base64.b64decode(encoded).decode("utf-8") print(decoded) # "Hello World"
# Décoder le Base64 en fichier with open("image.png", "wb") as f: f.write(base64.b64decode(base64_image_data))
# Base64 sécurisé pour les URL (pour les JWT) decoded = base64.urlsafe_b64decode(jwt_payload + "==") # Ajouter le rembourrage si nécessaire
Piège courant : Les chaînes Base64 doivent avoir une longueur multiple de 4. Si le rembourrage (=) est supprimé (courant dans les JWT et les URL), ajoutez-le : data += "=" * (4 - len(data) % 4).
Méthode 4 : Ligne de commande
Chaque système de type Unix inclut une commande base64 :
# Décoder une chaîne echo "SGVsbG8gV29ybGQ=" | base64 --decode # Sortie : Hello World# Décoder un fichier base64 --decode encoded.txt > decoded.bin
# Syntaxe macOS (légèrement différente) echo "SGVsbG8gV29ybGQ=" | base64 -D
# Décoder depuis le presse-papiers (macOS) pbpaste | base64 --decode
Pour Windows PowerShell :
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("SGVsbG8gV29ybGQ="))
Related: UTF-8 vs ASCII, Key Differences, Character Sets & When t...
Cas d'utilisation courants du décodage Base64
Décodage de tokens JWT
Les charges utiles JWT (JSON Web Token) sont des objets JSON encodés en Base64URL. Le décodage révèle les revendications :
# Structure JWT : en-tête.charge_utile.signature
# Décoder la charge utile (partie centrale)
echo "eyJ1c2VyIjoiYWxpY2UiLCJyb2xlIjoiYWRtaW4ifQ" | base64 --decode
# {"user":"alice","role":"admin"}
Visualisation d'images intégrées
Les URI de données en HTML intègrent des images encodées en Base64. Décodez pour extraire le fichier image pour l'édition ou l'optimisation.
Débogage de requêtes API
L'authentification HTTP Basic envoie les identifiants en Base64 : Authorization: Basic dXNlcjpwYXNz. Le décodage révèle user:pass. C'est pourquoi l'authentification Basic sur HTTP (et non HTTPS) est non sécurisée - les identifiants sont seulement encodés, pas chiffrés. Utilisez toujours HTTPS pour la sécurité des API.
Récupération de pièces jointes d'e-mail
Les pièces jointes d'e-mail sont encodées en MIME en Base64. Si vous avez besoin d'extraire une pièce jointe d'une source d'e-mail brute, décodez le bloc Base64 pour récupérer le fichier original.
Foire aux questions
L'encodage Base64 est-il identique au chiffrement ?
Non. Le Base64 est un encodage, pas un chiffrement. Il n'offre aucune sécurité - n'importe qui peut décoder une chaîne Base64 instantanément. Le Base64 convertit simplement des données binaires en format texte pour la transmission via des canaux texte uniquement (e-mail, JSON, URL). N'utilisez jamais le Base64 pour "protéger" des données sensibles comme des mots de passe ou des clés API. Pour une sécurité réelle, utilisez un chiffrement approprié (AES, RSA) ou un hachage (SHA-256).
Pourquoi le Base64 augmente-t-il la taille des données d'environ 33 % ?
Le Base64 convertit chaque 3 octets de données binaires en 4 caractères ASCII. Ce rapport 3:4 signifie que les données encodées en Base64 sont environ 33 % plus grandes que l'original. Ce compromis est acceptable lorsque vous devez transmettre des données binaires via des canaux texte uniquement. Si la taille est une préoccupation, envisagez de compresser les données avant l'encodage Base64, ou d'utiliser une méthode de transfert binaire plus efficace.
Qu'est-ce que le Base64URL et en quoi est-il différent ?
Le Base64URL remplace deux caractères du Base64 standard : + devient - et / devient _. Cela rend la chaîne encodée utilisable dans les URL et les noms de fichiers, où + et / ont des significations spéciales. Le Base64URL omet également généralement le rembourrage (=). Les JWT et de nombreuses API web utilisent le Base64URL plutôt que le Base64 standard.
Comment décoder du Base64 dans un navigateur web ?
Utilisez la fonction intégrée atob() de JavaScript : atob("SGVsbG8=") retourne "Hello". Pour décoder du Base64URL (utilisé dans les JWT), remplacez d'abord les caractères sécurisés pour les URL : atob(str.replace(/-/g, '+').replace(/_/g, '/')). Pour une approche sans code, utilisez le Décodeur Base64 gratuit de Qodex directement dans votre navigateur.
Le Base64 peut-il décoder n'importe quel fichier binaire ?
Oui. Le Base64 peut encoder et décoder n'importe quelle donnée binaire - images, PDF, exécutables, archives, ou tout autre type de fichier. Le processus est réversible : l'encodage convertit des octets en texte, et le décodage reconvertit le texte en octets originaux exacts. En JavaScript, utilisez Blob et Uint8Array pour les fichiers binaires. En Python, écrivez les octets décodés avec open('file', 'wb').
Quelles sont les causes des erreurs "Base64 invalide" ?
Causes courantes : caractères de rembourrage manquants (=) - ajoutez-les pour que la longueur de la chaîne soit un multiple de 4 ; caractères invalides - le Base64 n'autorise que A-Z, a-z, 0-9, +, /, et = (ou -, _ pour le Base64URL) ; sauts de ligne ou espaces - supprimez tous les espaces avant le décodage ; mélange de Base64 et de Base64URL - assurez-vous d'utiliser le bon alphabet pour votre décodeur.
Discover, Test, & Secure your APIs 10x Faster than before
Auto-discover every endpoint, generate functional & security tests (OWASP Top 10), auto-heal as code changes, and run in CI/CD - no code needed.
Related Blogs





