Décodeur Base64
Décodez des chaînes encodées en Base64 à leur représentation originale en texte brut ou binaire. Prend en charge les alphabets Base64 standard RFC 4648 et sécurisé pour URL, y compris les jetons JWT.
Les chaînes Base64 sont opaques par conception - SGVsbG8sIFdvcmxkIQ== n'a aucun sens jusqu'à ce qu'elles soient décodées en Bonjour, le monde !. Définie dans la RFC 4648, Base64 encode chaque 3 octets d'entrée en 4 caractères de sortie, ajoutant environ 33 % de surcharge. Ce décodeur inverse cela en utilisant les API natives atob() et TextDecoder du navigateur. Il prend en charge à la fois le Base64 standard et la variante sécurisée pour URL (- et _ au lieu de + et /) utilisée dans les JWT et les jetons OAuth. Rien n'est téléchargé sur un serveur.
Comment décoder Base64
- Collez votre chaîne encodée en Base64 dans le champ de saisie.
- Choisissez le mode Standard ou sécure pour URL pour correspondre à la manière dont les données ont été initialement encodées.
- Le texte brut décodé apparaît immédiatement dans le panneau de sortie.
- Cliquez sur Copier pour copier le résultat.
Comment fonctionne le décodage Base64
Le processus de décodage
Le décodage inverse l'encodage exactement. Chaque caractère Base64 est mappé à sa valeur de 6 bits en utilisant le tableau de l'alphabet. Quatre caractères consécutifs (24 bits) reconstruisent trois octets. La fonction atob() du navigateur gère le Base64 standard nativement. Pour le Base64 sécurisé pour URL, - et _ sont convertis en + et / avant le décodage. La séquence d'octets UTF-8 résultante est ensuite décodée en une chaîne Unicode à l'aide de TextDecoder.
Gestion du remplissage manquant
Le Base64 standard nécessite un remplissage = pour que la longueur de la chaîne soit un multiple de 4. Les JWT et les jetons OAuth suppriment le remplissage pour réduire la taille. Ce décodeur calcule et ajoute automatiquement le remplissage requis en fonction de la longueur de la chaîne. Si la longueur de la chaîne mod 4 est 2, un = est nécessaire ; si elle est 3, deux caractères = sont nécessaires.
Exemple
Entrée (Base64 standard)
SGVsbG8sIFdvcmxkIQ==
Sortie
Bonjour, le monde !
Cas d'utilisation courants
- Inspection de jeton JWT - Décodez les sections d'en-tête et de charge utile pour lire les revendications sans bibliothèque
- Authentification HTTP Basic - Décodez les en-têtes
Authorization: Basic dXNlcjpwYXNzpour vérifier les identifiants intégrés - Inspection de l'URI de données - Décodez la portion Base64 de
data:image/png;base64,...URIs - Débogage de réponse API - Certaines API encodent en Base64 le contenu binaire dans les réponses JSON
Meilleures pratiques
- Sélectionnez le bon mode (Standard vs sécure pour URL) - utiliser le mauvais mode produit une sortie illisible
- Pour les jetons JWT, décodez uniquement l'en-tête (première partie) et la charge utile (deuxième partie) ; la troisième partie est une signature cryptographique, pas du texte encodé
- Si la sortie est des caractères illisibles, les données sources étaient binaires (image, PDF, etc.), pas du texte
- Le décodage Base64 n'est pas un contrôle de sécurité - n'importe qui peut le décoder
Pour encoder du texte à nouveau en Base64, utilisez le Encodeur Base64. Pour les données encodées en URL, utilisez le Décodeur URL. Pour inspecter complètement un JWT, décodez les deux premières parties séparées par des points séparément avec le mode sécurisé pour URL sélectionné.
Questions fréquentes
Comment puis-je décoder un jeton JWT avec cet outil ?
Un JWT se compose de trois parties séparées par des points : header.payload.signature. Copiez l'en-tête (première partie) ou la charge utile (deuxième partie), sélectionnez le mode sécure pour URL, et collez-le dans le décodeur. La sortie est l'objet JSON avec l'algorithme (en-tête) ou les revendications (charge utile). Ne décodez pas la signature - c'est un hachage cryptographique, pas une chaîne JSON encodée en Base64.
Pourquoi ma sortie décodée affiche-t-elle des caractères étranges ?
Cela signifie l'une des trois choses : (1) les données d'origine étaient binaires (image, PDF, zip) plutôt que du texte ; (2) vous avez sélectionné le mauvais mode - essayez de basculer entre Standard et sécure pour URL ; (3) le texte d'origine était encodé avec un jeu de caractères autre que UTF-8. Essayez d'abord de changer de mode. Si la sortie est toujours illisible, les données sources étaient probablement binaires.
Ai-je besoin des caractères de remplissage (==) pour que le décodage fonctionne ?
Le Base64 standard nécessite un remplissage pour que la longueur de la chaîne soit un multiple de 4. Ce décodeur ajoute automatiquement le remplissage manquant, ce qui est important pour les jetons JWT et OAuth qui suppriment les caractères = finaux. Collez la chaîne telle quelle et le décodeur gère le remplissage automatiquement.
Mes données sensibles sont-elles en sécurité lors du décodage ici ?
Oui. Le décodage s'effectue entièrement dans votre navigateur en utilisant les API natives atob() et TextDecoder. Les jetons, les identifiants et les données sensibles que vous collez ne sont jamais envoyés à un serveur, jamais enregistrés et jamais stockés. Ouvrez l'onglet Réseau de votre navigateur pendant le décodage et vous verrez zéro requête sortante.
Quelle est la différence entre le Base64 standard et le Base64 sécurisé pour URL ?
Le Base64 standard (RFC 4648 §4) utilise + et /. Le Base64 sécurisé pour URL (RFC 4648 §5) les remplace par - et pour éviter les conflits dans les URL, les noms de fichiers et les en-têtes HTTP. Les JWT, les jetons OAuth et les vérificateurs de code PKCE utilisent tous le Base64 sécurisé pour URL. Si votre chaîne contient - ou , sélectionnez le mode sécurisé pour URL.