NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
API Testing6 min read

Comment décoder le Base64 : méthodes, outils et exemples de code

S
Shreya Srivastava
Content Team

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écodeur Base64 de Qodex

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 :

  1. Collez la chaîne encodée en Base64

  2. Cliquez sur décoder - le texte original ou les données binaires apparaissent instantanément

  3. 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 :

// 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.