RFC 4648 §5 · base64url
Décoder du Base64URL, remplissage compris.
Collez du Base64 URL-safe — issu d’un JWT, d’un paramètre d’URL, d’un défi WebAuthn ou de l’API Gmail — et il est décodé en reconvertissant - et _ et en restaurant le remplissage = manquant. Collez un JSON Web Token complet et l’en-tête et la charge utile s’affichent dans un tableau.
Mis à jour le · Fonctionne entièrement dans votre navigateur
Convertisseur Décoder Base64URL
JSON Web Token
Options
Ctrl+Enter décoder Ctrl+Shift+C copier le résultat Déposez un fichier sur l’entrée pour le charger
Comment décoder du Base64URL
- 01
Collez la valeur base64url
Collez une chaîne Base64 URL-safe ou un JWT complet. Les caractères - et _ et le remplissage manquant sont gérés automatiquement.
- 02
Lisez le résultat décodé
Les valeurs simples sont décodées en texte ou en octets. Un JWT est séparé en en-tête et charge utile, avec iat, nbf et exp affichés sous forme de dates.
- 03
Copiez ou continuez à décoder
Copiez le JSON, formatez-le, ou cliquez sur Envoyer vers l’entrée si la charge utile contient une autre valeur encodée.
Base64 ou Base64URL
Le Base64 standard utilise + et /, qui ont un sens dans les URL et les noms de fichiers,
et complète avec =, qu’il faut encoder en pourcentage dans une chaîne de requête. Le Base64URL, défini à
la section 5 de la RFC 4648, remplace uniquement ces caractères pour que la valeur circule dans une URL sans
altération :
| Base64 | Base64URL | |
|---|---|---|
| Valeur 62 | + | - |
| Valeur 63 | / | _ |
| Remplissage | = obligatoire | généralement omis |
| Défini dans | RFC 4648 §4 | RFC 4648 §5 |
Les 62 autres caractères sont identiques : la conversion se résume à un échange de caractères plus le remplissage.
Restaurer le remplissage manquant
Beaucoup de décodeurs stricts refusent une entrée sans remplissage. La règle pour le rétablir ne dépend que de la longueur de la chaîne modulo 4 :
- reste 0 : aucun remplissage nécessaire ;
- reste 2 : ajoutez
==; - reste 3 : ajoutez
=; - reste 1 : impossible en Base64 valide, la valeur est tronquée.
Ce décodeur applique la règle pour vous et signale une valeur tronquée au lieu de renvoyer discrètement n’importe quoi.
Où l’on rencontre le base64url
- JSON Web Tokens — l’en-tête, la charge utile et la signature sont trois segments base64url reliés par des points. La signature est affichée mais pas vérifiée, car il faudrait la clé.
- WebAuthn et passkeys — défis, identifiants de justificatifs et données client.
- OAuth PKCE — le
code_challengeest une empreinte SHA-256 en base64url. - API Gmail — le corps des messages et les pièces jointes sont encodés en base64url.
- Identifiants courts et jetons dans les URL, les cookies et les noms de fichiers.
Décoder du base64url dans le code
# Python: urlsafe_b64decode still needs the padding back
import base64
def b64url_decode(s: str) -> bytes:
return base64.urlsafe_b64decode(s + "=" * (-len(s) % 4))
// Node.js 16+
Buffer.from(token, "base64url").toString("utf8");
// Go
base64.RawURLEncoding.DecodeString(s)
// Java 8+: the URL decoder accepts unpadded input
Base64.getUrlDecoder().decode(s);
Pour le Base64 standard et d’autres langages, consultez la page principale pour décoder du Base64.
Autres décodeurs
D’autres façons de décoder du Base64.
- Décoder Base64 Décodez n’importe quel Base64 en texte, en image ou en fichier, avec plus de 20 jeux de caractères.
- Base64 en image Prévisualisez un PNG, JPEG, GIF, WebP ou SVG en Base64 et enregistrez-le comme un vrai fichier image.
- Base64 en PDF Transformez une chaîne Base64 issue d’une API ou d’un e-mail en PDF à consulter et enregistrer.
- Base64 en hexadécimal Affichez chaque octet décodé en vue hexadécimale, ou copiez-le en une seule chaîne hex.
Questions
Décoder Base64URL : questions fréquentes.
Comment décoder du Base64URL ?
Remplacez - par + et _ par /, ajoutez du remplissage = jusqu’à obtenir une longueur multiple de quatre, puis décodez comme du Base64 normal. Cette page fait les trois automatiquement : collez la valeur et le résultat décodé s’affiche aussitôt.
Le Base64URL est-il la même chose que l’encodage URL ?
Non. L’encodage URL (encodage en pourcentage) échappe des caractères isolés sous la forme %XX. Le Base64URL est une variante du Base64 qui convertit des octets dans un alphabet sûr pour les URL. Si une valeur contient %2B ou %3D, c’est du Base64 encodé en pourcentage : décodez d’abord les pourcentages.
Puis-je décoder un JWT avec cet outil ?
Oui. Collez le jeton complet : l’en-tête et la charge utile sont décodés depuis le base64url et affichés dans un tableau, avec les horodatages convertis en dates. La signature est affichée mais pas vérifiée, car cela exige la clé secrète ou publique.
Pourquoi Python renvoie-t-il « Incorrect padding » sur du base64url ?
base64.urlsafe_b64decode attend le remplissage = que le base64url omet généralement. Ajoutez "=" * (-len(s) % 4) à la chaîne avant de décoder, comme dans l’exemple de cette page.