RFC 4648 §5 · base64url
Decodifica Base64URL, padding compreso.
Incolla Base64 URL-safe (da un JWT, un parametro URL, una challenge WebAuthn o l’API di Gmail) e viene decodificato riconvertendo - e _ e ripristinando il padding = mancante. Incolla un JSON Web Token intero e header e payload vengono mostrati in una tabella.
Aggiornato il · Funziona interamente nel tuo browser
Convertitore Decodifica Base64URL
JSON Web Token
Opzioni
Ctrl+Enter decodifica Ctrl+Shift+C copia il risultato Trascina un file sull’input per caricarlo
Come decodificare Base64URL
- 01
Incolla il valore base64url
Incolla una stringa Base64 URL-safe o un JWT completo. I caratteri - e _ e il padding mancante vengono gestiti automaticamente.
- 02
Leggi il risultato decodificato
I valori semplici vengono decodificati in testo o byte. Un JWT viene separato in header e payload, con iat, nbf ed exp mostrati come date.
- 03
Copia o continua a decodificare
Copia il JSON, formattalo oppure premi Invia all’input se il payload contiene un altro valore codificato.
Base64 e Base64URL a confronto
Il Base64 standard usa + e /, che hanno un significato negli URL e nei nomi di file, e
completa con =, che in una query string va codificato con la percentuale. Il Base64URL, definito nella
sezione 5 della RFC 4648, sostituisce solo questi caratteri perché il valore possa viaggiare in un URL senza
alterazioni:
| Base64 | Base64URL | |
|---|---|---|
| Valore 62 | + | - |
| Valore 63 | / | _ |
| Padding | = obbligatorio | di solito omesso |
| Definito in | RFC 4648 §4 | RFC 4648 §5 |
Gli altri 62 caratteri sono identici, quindi la conversione è un semplice scambio di caratteri più il padding.
Ripristinare il padding mancante
Molti decoder rigorosi rifiutano un input senza padding. La regola per rimetterlo dipende solo dalla lunghezza della stringa modulo 4:
- resto 0: nessun padding necessario;
- resto 2: aggiungi
==; - resto 3: aggiungi
=; - resto 1: impossibile in un Base64 valido, il valore è troncato.
Questo decoder applica la regola al posto tuo e segnala un valore troncato invece di restituire in silenzio dati senza senso.
Dove incontri il base64url
- JSON Web Token: header, payload e firma sono tre segmenti base64url uniti da punti. La firma viene mostrata ma non verificata, perché servirebbe la chiave.
- WebAuthn e passkey: challenge, ID delle credenziali e dati del client.
- OAuth PKCE: il
code_challengeè un digest SHA-256 in base64url. - API di Gmail: corpi dei messaggi e allegati sono codificati in base64url.
- ID brevi e token in URL, cookie e nomi di file.
Decodificare base64url nel codice
# 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);
Per il Base64 standard e altri linguaggi, consulta la pagina principale Decodifica Base64.
Altri decoder
Altri modi per decodificare Base64.
- Decodifica Base64 Decodifica qualsiasi Base64 in testo, immagine o file, con oltre 20 set di caratteri.
- Base64 in immagine Visualizza un PNG, JPEG, GIF, WebP o SVG in Base64 e salvalo come vero file immagine.
- Base64 in PDF Trasforma una stringa Base64 da un’API o un’email in un PDF da visualizzare e salvare.
- Base64 in esadecimale Guarda ogni byte decodificato in un dump hex o copialo come un’unica stringa esadecimale.
Domande
Decodifica Base64URL: domande frequenti.
Come decodifico Base64URL?
Sostituisci - con + e _ con /, aggiungi padding = finché la lunghezza non è un multiplo di quattro, poi decodifica come un normale Base64. Questa pagina fa tutti e tre i passaggi automaticamente: incolla il valore e il risultato appare subito.
Base64URL è la stessa cosa della codifica URL?
No. La codifica URL (percent-encoding) fa l’escape di singoli caratteri come %XX. Base64URL è una variante di Base64 che converte i byte in un alfabeto sicuro per gli URL. Se un valore contiene %2B o %3D, è Base64 codificato con percentuale: decodifica prima la percentuale.
Posso decodificare un JWT con questo strumento?
Sì. Incolla il token completo e header e payload vengono decodificati da base64url e mostrati in una tabella, con i timestamp convertiti in date. La firma viene mostrata ma non verificata, perché richiede la chiave segreta o pubblica.
Perché Python restituisce “Incorrect padding” con il base64url?
base64.urlsafe_b64decode si aspetta il padding = che il base64url di solito omette. Aggiungi "=" * (-len(s) % 4) alla stringa prima di decodificare, come nell’esempio di questa pagina.