Decodificatore JWT online: decodifica i token JWT
Decodifica un token JWT e controllane l'intestazione, il payload, l'emissione (iat) e la scadenza (exp). La decodifica avviene localmente nel tuo browser: il tuo token non viene caricato.
Informazioni sul decodificatore JWT
Un JWT (JSON Web Token) è un token compatto composto da tre parti separate da punti: header.payload.signature. L'header e il payload sono JSON con codifica base64url, quindi possono essere letti senza una chiave segreta. La firma protegge il token dalle manomissioni e richiede una chiave per la verifica. Questo strumento decodifica solo le parti visibili: tutto avviene nel browser e il token non viene mai caricato.
Quando serve un decoder JWT
Debug dell'autenticazione
Controlla cosa inserisce effettivamente il tuo server di autenticazione nel payload: ID utente, ruoli, ambiti, attestazioni. Confronta iat/exp con l'ora del server quando le richieste iniziano a restituire 401.
Token scaduto
Se la tua app segnala "token scaduto", incolla JWT e vedrai immediatamente exp in formato leggibile: a volte è solo l'orologio del client che è sbagliato.
Payload OAuth / OIDC
Durante l'integrazione con OAuth2 / OpenID Connect, controlla quali claim emette effettivamente il provider (sub, iss, aud, scope) e se corrispondono a quelli previsti.
Lettura di id_token nel frontend
Da id_token spesso devi estrarre e-mail, nome o ruoli: il decodificatore mostra il JSON che potrai poi analizzare nel codice tramite atob.
Domande frequenti
È sicuro incollare un JWT in questo strumento?
La decodifica viene eseguita nel tuo browser in JavaScript e il token non viene inviato a convertilo. Per i segreti di produzione, tuttavia, preferisci strumenti locali: è meglio evitare i servizi online pubblici per i token attivi.
Perché la firma non viene verificata?
La verifica della firma richiede la chiave segreta (HS256) o quella pubblica (RS256/ES256). Il decodificatore si limita a separare la struttura e mostrare i claim: per la verifica crittografica usa una libreria (jsonwebtoken, jose, ecc.).
Un JWT è cifrato?
No. Un normale JWT (JWS) è firmato, ma NON cifrato. Chiunque possieda il token può leggere il payload. Non inserirvi password, numeri di carta o altri dati segreti.
Cosa significano iat, exp, nbf, sub, iss, aud?
iat — ora di emissione (secondi unix). exp — scadenza. nbf — non prima di (il momento da cui diventa valido). sub — soggetto (ID utente). iss — emittente (chi lo ha creato). aud — destinatario (il servizio a cui è rivolto).
Posso decodificare un JWT senza la chiave di firma?
Sì: l'header e il payload sono pubblici, perché sono semplicemente JSON con codifica base64url. "Decodifica" significa decodifica base64url e parsing del JSON, esattamente ciò che fa questo strumento.