Aller au décodeur Base64

RFC 4648 · Décodeur & encodeur

Décodez du Base64 sans rien envoyer.

Collez une chaîne Base64 et récupérez du texte lisible, une image ou un fichier à mesure que vous tapez. Ce décodeur Base64 en ligne fonctionne entièrement dans votre navigateur : vos données ne sont jamais envoyées, jamais enregistrées et ne quittent jamais votre appareil.

  • Décode pendant la saisie
  • Plus de 20 jeux de caractères
  • Images, PDF et JWT
  • Sans pub ni inscription

Mis à jour le · Base64 standard et URL-safe (RFC 4648)

Outil de décodage et d’encodage Base64

0 caractères
Résultat décodé
Type: — Taille: 0 B
Options
Général
Options de décodage

Ctrl+Enter décoder Ctrl+Shift+C copier le résultat Déposez un fichier sur l’entrée pour le charger

Décoder du Base64 en ligne — gratuit, instantané et privé

Ce décodeur Base64 en ligne travaille dans votre navigateur plutôt que sur un serveur. Collez votre contenu dans la zone ci-dessus et le résultat s’affiche au fur et à mesure : pas de bouton, pas de rechargement, pas d’envoi. Le texte ressort lisible, les images apparaissent dans l’onglet Aperçu, et tout contenu binaire obtient une vue hexadécimale et un bouton Télécharger avec la bonne extension de fichier.

Passez à Encoder pour faire l’inverse, ou utilisez notre encodeur dédié sur freebase64encode.com. Pour décoder du Base64 dans votre code, les exemples ci-dessous couvrent Python, JavaScript, Linux, Windows PowerShell, PHP, Java, Go, C# et Ruby.

Vous travaillez avec un format précis ? Des pages dédiées permettent de convertir Base64 en image, Base64 en PDF et Base64 en hexadécimal, ainsi que de décoder du Base64URL et des JWT.

Décoder du Base64 en trois étapes

  1. 01

    Collez votre chaîne Base64

    Collez les données Base64 dans la zone d’entrée ou faites-y glisser un fichier. Les espaces, sauts de ligne, préfixes d’URI data: et caractères URL-safe sont gérés automatiquement.

  2. 02

    Lisez le résultat décodé

    Le résultat apparaît instantanément dans le panneau voisin, décodé dans votre navigateur. Choisissez un autre jeu de caractères si le texte semble incorrect.

  3. 03

    Copiez, téléchargez ou prévisualisez

    Copiez le texte décodé, téléchargez la sortie binaire sous forme de fichier avec la bonne extension, examinez-la en hexadécimal ou prévisualisez une image décodée sur la page.

Autres décodeurs

Décoder du Base64 vers un format précis.

Ce que vous obtenez

Un décodeur Base64 qui vous dit ce qu’il a trouvé.

La plupart des décodeurs en ligne vous rendent un mur de caractères et vous laissent deviner. Celui-ci identifie le contenu, corrige les erreurs d’encodage courantes et affiche le résultat sous la forme qui vous est vraiment utile.

Rien ne quitte votre appareil

Chaque octet est décodé par du JavaScript sur cette page. Aucun envoi, aucune requête, aucun journal — vérifiez dans l’onglet réseau.

Détection automatique du format

PNG, JPEG, GIF, WebP, SVG, PDF, ZIP, MP4, JSON, XML et HTML sont reconnus grâce à leurs octets de signature et étiquetés.

Aperçu des images Base64

Décodez une image et voyez-la aussitôt, avec ses dimensions réelles en pixels et sa taille, puis téléchargez-la sous forme de fichier.

Plus de 20 jeux de caractères

UTF-8, UTF-16, Latin-1, Windows-1250/1251/1252, Shift_JIS, GBK, Big5, KOI8-R et d’autres, avec détection automatique.

Vue hexadécimale

La sortie binaire s’affiche sous forme de vidage classique décalage / hex / ASCII pour inspecter en-têtes et octets magiques.

Compatible JWT

Collez un JSON Web Token : l’en-tête et la charge utile sont présentés dans un tableau, avec les horodatages convertis en dates.

Entrée tolérante

Remplissage manquant, caractères URL-safe « - » et « _ », espaces parasites, retours à la ligne MIME et URI data: complètes sont gérés automatiquement.

Mode ligne par ligne

Décodez en une fois une liste de valeurs Base64 indépendantes, un résultat par ligne — pratique pour les journaux et les exports.

Encodage aussi

Passez à Encoder pour du texte ou n’importe quel fichier, avec coupure MIME, alphabet URL-safe ou URI data: prête à l’emploi.

Pourquoi celui-ci

Toute la différence tient à l’endroit où l’on décode.

La plupart des décodeurs Base64 envoient votre chaîne à un serveur, la décodent là-bas et vous renvoient le résultat. Votre jeton, votre clé ou votre fichier a donc quitté votre machine pour une transformation que votre navigateur effectue en quelques microsecondes. Celui-ci ne fait jamais cette requête.

Comparaison entre ce décodeur Base64 et les outils Base64 en ligne classiques basés sur un serveur
Fonction freebase64decode.com Décodeur en ligne classique
Où vos données sont décodées Toujours dans l’onglet de votre navigateur Envoyées à un serveur
Jeux de caractères Plus de 20, décodés hors ligne Côté serveur uniquement
Taille maximale des fichiers La mémoire de votre appareil Souvent plafonnée à 100 Mo
Aperçu des images décodées Intégré, avec les dimensions Non proposé
Vue hexadécimale de la sortie binaire Intégrée Non proposée
En-tête et charge utile des JWT Automatique Non proposé
Alphabet URL-safe et réparation du remplissage Automatiques Manuels
Détection des URI data: Automatique Manuelle
Fonctionne sans connexion Oui, une fois la page chargée Non
Publicités et bandeaux cookies Aucun, et aucun cookie de suivi Généralement présents

Dans votre code

Décoder du Base64 en Python, JavaScript, Linux et plus.

Une fois une valeur vérifiée dans le décodeur ci-dessus, il faut souvent faire la même chose dans du code. Chaque exemple est prêt à copier-coller et couvre les pièges habituels : jeux de caractères, alphabet URL-safe et remplissage manquant.

Décoder du Base64 en Python

Le module base64 de Python fait partie de la bibliothèque standard : rien à installer. b64decode renvoie toujours des bytes ; appelez .decode() pour obtenir une str.

import base64

# Base64 string -> text
encoded = "SGVsbG8sIHdvcmxkIQ=="
text = base64.b64decode(encoded).decode("utf-8")
print(text)                      # Hello, world!

# Reject anything that is not valid Base64 instead of silently skipping it
base64.b64decode(encoded, validate=True)

# URL-safe alphabet (RFC 4648 section 5): "-" and "_" instead of "+" and "/"
base64.urlsafe_b64decode("SGVsbG8_d29ybGQtMQ==")

# Unpadded input (JWTs, URL parameters) raises binascii.Error -- pad it first
def b64decode_any(s: str) -> bytes:
    s = s.replace("-", "+").replace("_", "/")
    return base64.b64decode(s + "=" * (-len(s) % 4))

# Base64 -> image file on disk
with open("logo.png", "wb") as f:
    f.write(base64.b64decode(image_b64))

# Decode every line of a file separately
with open("encoded.txt") as f:
    for line in f:
        print(base64.b64decode(line.strip()).decode("utf-8"))

Le mécanisme

Ce qu’est le Base64, et comment le décodage l’inverse.

Le Base64 réécrit des octets quelconques avec 64 caractères imprimables — A–Z a–z 0–9 + / — pour que des données binaires survivent dans des systèmes prévus pour du texte. Le décodage fait le chemin inverse : chaque caractère correspond à une valeur sur 6 bits, quatre d’entre eux forment 24 bits, et ces bits sont redécoupés en trois octets. C’est un encodage, pas un chiffrement : n’importe qui peut le faire.

Exemple détaillé : TWFu → Man

Comment les quatre caractères Base64 « TWFu » se décodent en trois octets « Man »
Base64 T · W · F · u
Index 19 · 22 · 5 · 46
Groupes de 6 bits 010011 010110 000101 101110
Redécoupés en 8 bits 01001101 01100001 01101110
Octets 77 · 97 · 110
Texte Man

Les signes = finaux sont du remplissage, pas des données : == signifie que le dernier groupe contenait un octet, = qu’il en contenait deux. Le Base64 est toujours environ 33 % plus volumineux que ce qu’il représente.

L’alphabet Base64 (table d’index)

Chaque caractère Base64 représente un nombre de 0 à 63. Le décodage cherche chaque caractère dans cette table (RFC 4648, table 1). Le Base64 URL-safe est identique, sauf que 62 devient -, 63 devient _, et que = est du remplissage et non une valeur.

Table d’index Base64 : la valeur de chacun des 64 caractères
Valeur Car. Valeur Car. Valeur Car. Valeur Car.
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

Où l’on croise vraiment le Base64

Pièces jointes d’e-mails

MIME (RFC 2045) encode les pièces jointes en Base64 et coupe le résultat à 76 caractères par ligne. Les décodeurs ignorent les sauts de ligne ; celui-ci les retire pour vous.

URI data:

data:image/png;base64,… intègre une image, une police ou un SVG dans du HTML ou du CSS. Collez ici l’URI complète : le préfixe est détecté et retiré automatiquement.

JSON Web Tokens

Chacun des trois segments d’un JWT est du base64url sans remplissage. Collez un jeton et l’en-tête et la charge utile s’affichent dans un tableau lisible.

Authentification HTTP Basic

Authorization: Basic transporte base64(utilisateur:mot_de_passe). Il suffit d’un collage pour le décoder — c’est pourquoi Basic n’est acceptable qu’en HTTPS.

Fichiers de configuration et secrets

Les Secrets Kubernetes, les certificats PEM et les clés SSH stockent du binaire en Base64 pour rester en texte. Décoder permet de vérifier ce qu’ils contiennent vraiment.

API et bases de données

Les blobs binaires transitent en Base64 dans du JSON, du XML et des colonnes texte. La vue hex montre les vrais octets : la signature révèle le type de fichier.

Base64 standard ou URL-safe

La RFC 4648 définit deux alphabets. Le standard utilise + et /, qui ont tous deux un sens dans une URL. La variante URL-safe (§5, souvent appelée base64url) les remplace par - et _ et omet généralement le remplissage =. Ce décodeur détecte celle que vous avez collée : une chaîne contenant - ou _ est traitée comme URL-safe, sauf si vous forcez le réglage.

Comment décoder une image Base64

Collez l’URI data: complète — préfixe data:image/png;base64, compris — ou seulement la partie encodée. Le préfixe est retiré, les octets de signature sont vérifiés et l’image apparaît dans l’onglet Aperçu avec ses dimensions réelles. Télécharger l’enregistre comme un vrai fichier PNG, JPEG, GIF, WebP ou SVG. Si l’aperçu reste vide, ouvrez l’onglet Hex et cherchez une signature connue comme 89 50 4e 47 (PNG) ou ff d8 ff (JPEG) : si elle manque, la chaîne est tronquée.

Six erreurs de décodage et leur signification

« Caractère invalide à la position N »

Quelque chose sort de l’alphabet Base64 — en général un guillemet égaré, des points de suspension issus d’une copie tronquée, ou un caractère URL-safe alors que le décodage strict est forcé.

La longueur n’est pas un multiple de 4

Le remplissage a été supprimé. Activez Réparer le remplissage ; s’il reste exactement un caractère, la chaîne est vraiment tronquée et irrécupérable.

Mojibake — é au lieu de é

Les octets ont été décodés avec le mauvais jeu de caractères. Essayez d’abord UTF-8, puis Windows-1252 pour un texte issu d’anciens logiciels Windows.

Des symboles illisibles partout

Le contenu est binaire, pas textuel. Passez à l’onglet Hex ou Aperçu et téléchargez-le sous forme de fichier au lieu de copier le texte.

Le résultat est encore du Base64

La valeur a été encodée deux fois. Cliquez sur « Envoyer vers l’entrée » pour réinjecter le résultat et le décoder à nouveau.

Le Base64 n’est pas un chiffrement

N’importe qui peut le décoder en un collage. Si un secret n’est « protégé » que par du Base64, considérez-le comme déjà exposé et remplacez-le.

Questions

Décoder du Base64 : vos questions, nos réponses.

Qu’est-ce que décoder du Base64 ?

Décoder du Base64, c’est retransformer une chaîne encodée en Base64 en octets d’origine. L’encodage Base64 réécrit des données binaires avec 64 caractères ASCII imprimables pour qu’elles circulent sans risque dans des systèmes qui ne gèrent que du texte, comme l’e-mail ou le JSON. Le décodage inverse cette correspondance : chaque groupe de quatre caractères Base64 redevient trois octets d’origine.

Comment décoder une chaîne Base64 en ligne ?

Collez la chaîne Base64 dans la zone d’entrée en haut de cette page. Le résultat décodé apparaît immédiatement dans la zone de sortie voisine : aucun bouton à cliquer, aucune attente. Vous pouvez ensuite copier le texte, le télécharger sous forme de fichier, l’afficher en hexadécimal ou le prévisualiser s’il s’agit d’une image.

Ce décodeur Base64 est-il sûr pour des données sensibles ?

Oui. Tout le décodage se fait en JavaScript dans votre propre navigateur : votre entrée n’est jamais envoyée, transmise, enregistrée ni stockée. Vous pouvez le vérifier en ouvrant les outils de développement et en surveillant l’onglet réseau pendant le décodage, ou en vous déconnectant d’internet : l’outil continue de fonctionner une fois la page chargée.

Le Base64 est-il un chiffrement ? Est-il sûr ?

Non. Le Base64 est un encodage, pas un chiffrement. Il n’offre aucune sécurité, car n’importe qui peut l’inverser sans clé ni mot de passe — c’est exactement ce que fait cette page. N’utilisez jamais le Base64 pour protéger des mots de passe, des jetons ou des données personnelles. Utilisez un vrai chiffrement comme AES, et TLS pour les données en transit.

Comment décoder une image Base64 ?

Collez l’URI data: complète, préfixe data:image/png;base64, compris, ou seulement la partie encodée. Le préfixe est retiré automatiquement et la signature de l’image est vérifiée : l’image s’affiche dans l’onglet Aperçu avec ses dimensions en pixels et sa taille. Le bouton Télécharger l’enregistre comme un vrai fichier PNG, JPEG, GIF, WebP ou SVG.

Pourquoi mon texte décodé affiche-t-il des caractères bizarres comme é ou � ?

C’est un problème de jeu de caractères : les octets sont corrects mais interprétés avec le mauvais encodage. Réglez d’abord le jeu de caractères sur UTF-8. Si les données viennent d’une ancienne application Windows, essayez Windows-1252 ou ISO-8859-1. En détection automatique, l’outil tente d’abord un UTF-8 strict puis se replie sur Windows-1252.

Que signifie « Base64 non valide » et comment corriger ?

Cela signifie que l’entrée contient un caractère hors de l’alphabet Base64, ou que sa longueur n’est pas un multiple de quatre. Les causes habituelles sont une copie tronquée, un guillemet ou des points de suspension copiés avec le texte, ou une chaîne URL-safe utilisant - et _ . Laissez activées les options Supprimer les espaces et Réparer le remplissage : le décodeur corrige la plupart de ces cas tout seul.

Quelle est la différence entre Base64 standard et Base64 URL-safe ?

Le Base64 standard (RFC 4648, section 4) utilise + et / comme deux derniers caractères, qui ont tous deux un sens particulier dans une URL. Le Base64 URL-safe, aussi appelé Base64url (RFC 4648, section 5), les remplace par - et _ et omet généralement le remplissage =. Ce décodeur détecte la variante collée et la convertit automatiquement.

Puis-je décoder un fichier Base64 ?

Oui. Cliquez sur le bouton Fichier ou faites glisser un fichier dans la zone d’entrée. Le fichier est lu localement par votre navigateur, décodé sur votre appareil, et le résultat peut être téléchargé avec la bonne extension. Comme rien n’est envoyé, aucune limite de taille n’est imposée : la limite pratique est la mémoire de votre appareil, pas un quota serveur.

Comment décoder du Base64 en Python ?

Utilisez la bibliothèque standard : import base64, puis base64.b64decode("SGVsbG8=").decode("utf-8"). b64decode renvoie toujours des bytes : appelez .decode() pour obtenir une chaîne. Utilisez base64.urlsafe_b64decode pour l’alphabet URL-safe, et passez validate=True si vous voulez qu’une entrée mal formée lève une erreur au lieu d’être ignorée en silence.

Comment décoder du Base64 sous Linux ou en Bash ?

Envoyez la chaîne à la commande base64 : echo "SGVsbG8=" | base64 --decode. Utilisez printf %s au lieu d’echo si le saut de ligne final compte, base64 -d fichier > sortie.bin pour un fichier, et base64 -di pour ignorer les retours à la ligne. La forme longue --decode fonctionne sous Linux comme sous macOS ; les anciennes versions de macOS n’acceptent que -D en majuscule comme option courte.

Comment décoder du Base64 sous Windows ou avec PowerShell ?

Dans PowerShell, exécutez [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8=")). Pour retransformer un fichier Base64 en fichier binaire, lisez-le avec Get-Content -Raw, passez-le à [Convert]::FromBase64String et enregistrez les octets avec [IO.File]::WriteAllBytes. Depuis l’invite de commandes classique, certutil -decode encode.txt decode.bin fait la même chose et est fourni avec toutes les versions de Windows.

Comment décoder du Base64 en JavaScript ?

Dans le navigateur, atob() décode vers une chaîne binaire, mais abîme à lui seul le texte non ASCII. Convertissez le résultat en octets et passez-le à TextDecoder : new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0))). Dans Node.js, utilisez Buffer.from(b64, "base64").toString("utf8"), ou l’encodage "base64url" pour une entrée URL-safe.

Puis-je décoder un JWT ici ?

Oui. Collez un JSON Web Token : l’en-tête et la charge utile s’affichent automatiquement dans un tableau lisible, avec les dates d’émission et d’expiration converties. La signature est affichée mais pas vérifiée, car la vérification exige la clé secrète ou publique — que cet outil ne demande jamais et ne pourrait de toute façon pas utiliser, puisque rien ne quitte votre navigateur.

Cet outil est-il payant ou faut-il un compte ?

Non. Il est entièrement gratuit, sans inscription, sans compte et sans limite d’utilisation. C’est une page statique : aucun serveur ne traite vos données et il n’y a rien à facturer.

Pourquoi le Base64 est-il plus volumineux que les données d’origine ?

Le Base64 représente chaque groupe de trois octets par quatre caractères, la forme encodée est donc environ 33 % plus grande, sans compter le remplissage et les éventuels sauts de ligne. Ce surcoût est le prix à payer pour faire passer des données binaires par des canaux qui n’acceptent que du texte.