Charger un fichier
  1. base64hub
  2. Outils texte
  3. Réparation Base64

Réparer du Base64

Collez le Base64 qu’un décodeur refuse. L’outil annule les dégâts habituels causés par le JSON, les URL, les e-mails et le copier-coller, liste chaque modification et vous rend une chaîne propre dans le format de votre choix.

Gratuit sans inscription, sans limites Local rien n'est envoyé Corrige guillemets, échappements, %3D, espaces, remplissage Mis à jour 27 oct. 2026

Ce qui a été corrigé

Traité dans votre navigateur. Cette page ne peut envoyer vos données nulle part – comment le savons-nous

Comment réparer une chaîne Base64

  1. Collez la valeur cassée dans Base64 à vérifier. Laissez les guillemets, préfixes et sauts de ligne qui l’entourent : l’outil en a besoin pour comprendre ce qui s’est passé.
  2. Choisissez le Format de sortie : standard avec remplissage, standard sans remplissage, URL-safe avec ou sans remplissage, MIME (lignes de 76 caractères, CRLF) ou PEM (lignes de 64 caractères).
  3. Lisez Ce qui a été corrigé. Chaque réparation est listée à part : vous distinguez ainsi le simple nettoyage des modifications qui ont pu coûter des données.
  4. Copiez ou téléchargez le résultat, appuyez sur Valider le résultat pour le soumettre à une vérification complète, ou sur Télécharger le fichier décodé pour enregistrer les octets.

Ce que la réparation corrige

Vous avez colléCe qui s’est passéRéparé
"SGVsbG8gd29ybGQ\u003d"chaîne JSON avec un = échappéSGVsbG8gd29ybGQ=
SGVsbG8%3Dencodé en pourcent dans une URLSGVsbG8=
PDw/Pz8 Pg==+ devenu une espace dans une query stringPDw/Pz8+Pg==
PDw_Pz8-PgURL-safe et sans remplissagePDw/Pz8+Pg==
SGVsbG8gd29ybGQremplissage suppriméSGVsbG8gd29ybGQ=
SGVsbG8=V29ybGQ=deux valeurs concaténéesSGVsbG9Xb3JsZA== (HelloWorld)
SGVsbG9=bits inutilisés non nulsSGVsbG8=
Authorization: Basic …copié avec le nom de l’en-têtele jeton seul

Elle supprime aussi les préfixes data:…;base64, et les lignes PEM -----BEGIN …-----, retire les guillemets simples autour de la valeur, reconvertit les \n et \/ littéraux en caractères (le json_encode de PHP écrit \/ par défaut), supprime les espaces et les sauts de ligne, unifie les alphabets +/ et -_ mélangés et corrige le nombre de =.

Pour des valeurs concaténées, chaque morceau est décodé séparément, puis les octets sont assemblés : c’est correct quand un programme a ajouté des blocs avec remplissage les uns après les autres. Supprimer plutôt les = intermédiaires décalerait tous les bits suivants et produirait du charabia.

Les réparations qui peuvent masquer un vrai problème

Deux corrections sont signalées comme avertissements, car elles reposent sur une supposition :

  • Caractères interdits supprimés. Si la chaîne contenait *, # ou un caractère Unicode égaré, l’outil le supprime et indique lesquels ont disparu. Un caractère au milieu des données était peut-être un vrai symbole abîmé : dans ce cas, les octets décodés resteront faux à partir de cet endroit.
  • Un caractère orphelin supprimé. Aucun encodeur ne peut produire une longueur dont le reste vaut 1 : soit un caractère est en trop, soit la chaîne a été coupée. L’outil supprime le dernier caractère pour que le reste se décode, mais si la valeur était tronquée, la fin du fichier est perdue. Une image tronquée a généralement le bas gris ou absent ; un ZIP tronqué ne s’ouvre pas.

Quand l’un de ces avertissements apparaît, essayez de récupérer l’original : une ligne de log non tronquée, une réponse d’API complète ou la pièce jointe directement depuis le serveur de messagerie.

Pourquoi une correction naïve ne suffit pas

L’extrait habituel pour « réparer » du Base64 traite les espaces, les caractères URL-safe et le remplissage :

def fix_base64(s):
    s = "".join(s.split())
    s = s.replace("-", "+").replace("_", "/").rstrip("=")
    return s + "=" * (-len(s) % 4)

Il répare correctement SGVsbG8gd29ybGQ et PDw_Pz8-Pg. Donnez-lui PDw/Pz8 Pg==, où un + est devenu une espace : il supprime l’espace et laisse 9 caractères de données. Python échoue alors avec « number of data characters (9) cannot be 1 more than a multiple of 4 ». Les échappements JSON, les %3D, les blocs collés et les préfixes passent à travers de la même façon. La réparation proposée ici essaie chaque correction tour à tour et n’applique le remplacement de l’espace par un plus que si le résultat a une longueur valide.

La solution la plus sûre à long terme se trouve à la source : encodez le Base64 en pourcent avant de le mettre dans une URL, ou utilisez Base64URL, et tenez-le à l’écart des endroits qui recoupent ou échappent le texte. Si la chaîne réparée se décode toujours en quelque chose d’inattendu, le guide des erreurs Base64 traite du texte illisible et du double encodage, et le décodeur Base64 affiche les octets.

FAQ

Comment corriger « Incorrect padding » en Python ?

Ajoutez des = jusqu’à ce que la longueur soit un multiple de 4 : s + "=" * (-len(s) % 4). Si l’erreur persiste, la chaîne a subi d’autres dégâts, comme des espaces ou des échappements ; collez-la ici pour voir ce qui cloche encore.

Pourquoi y a-t-il des espaces dans mon Base64 ?

En général, un + est passé par une query string ou un formulaire HTML sans encodage pourcent, et le destinataire l’a transformé en espace. La réparation remet le + quand cela donne une longueur valide.

Une réparation peut-elle faire perdre des données ?

Supprimer des caractères interdits ou un dernier caractère orphelin le peut, et la liste des corrections le signale. Si l’outil indique qu’il a supprimé un caractère parce que les données étaient tronquées, récupérez une copie complète de l’original au lieu de vous fier au résultat.

Que signifie \u003d à la fin de mon Base64 ?

C’est l’échappement JSON de =. Certaines bibliothèques JSON, dont Gson, échappent = par sécurité pour le HTML. Un parseur JSON le reconvertit automatiquement ; la réparation fait de même quand vous collez le texte brut.