Decoder e validatore JWT
Incolla un JSON Web Token per leggerne header e payload, vedere quando è stato emesso e quando scade, e verificare una firma HMAC con il tuo segreto condiviso: il tutto senza che il token esca dalla tua macchina.
- Senza registrazione
- Gira nel tuo browser
- Funziona offline
- Niente viene caricato
- Gratis
Un "Bearer " iniziale viene ignorato. Il token resta in questa pagina.
Usato solo per ricalcolare la firma nel tuo browser.
Un JSON Web Token è fatto di tre parti codificate in base64url e separate da punti: un header che dice come è stato firmato, un payload di claim e una firma sulle prime due. Le prime due parti sono solo codificate, non cifrate: chiunque abbia il token può leggerle. È la firma a impedire che il contenuto venga alterato.
Proprio per questo incollare un token attivo in un sito qualsiasi è una pessima abitudine. Molti token sono credenziali al portatore: chi ne possiede uno può agire come l'utente che identifica finché non scade. Un decoder che manda il tuo token a un server ti sta facendo consegnare una chiave funzionante. Questo fa la decodifica nel tuo browser, e anche la verifica HMAC, usando l'implementazione WebCrypto del browser stesso.
Come si usa questo strumento
- Incolla il token. Un eventuale
Beareriniziale viene tolto in automatico, così puoi incollare direttamente da un header Authorization. - Leggi il riepilogo dei claim. Emittente, soggetto, destinatario, ora di emissione e scadenza vengono decodificati e mostrati nel tuo fuso orario con un tempo relativo in parole semplici.
- Controlla la riga della scadenza. Un token scaduto viene segnalato in rosso: è questo a spiegare la maggior parte dei 401 inaspettati.
- Per un token HS256, HS384 o HS512, inserisci il segreto condiviso e premi verifica. La firma viene ricalcolata in locale e confrontata.
- Copia il payload se ti serve altrove.
Esempio pratico
Capire un errore 401
Un'API continua a rifiutare una richiesta. Incolli il token e il riepilogo dei claim mostra che exp era tre ore fa: il token è scaduto e il client non lo sta rinnovando. Nessun viaggio al server, nessuna supposizione.
Confermare un segreto di firma
Un servizio di staging rifiuta i token emessi dal tuo servizio. Incolli un token, inserisci il segreto preso dalla configurazione e la verifica della firma fallisce: i due ambienti usano segreti diversi, ed è tutto qui il bug.
Quando serve
- Capire perché una richiesta API restituisce 401 o 403
- Controllare quali claim emette davvero il tuo identity provider
- Confermare che due ambienti condividano lo stesso segreto di firma
- Leggere la scadenza di un token durante un incidente
- Spiegare a qualcuno il contenuto di un token durante una code review
- Verificare un webhook firmato con una chiave simmetrica
Errori comuni
- Scambiare la decodifica per la verifica — Chiunque può decodificare un JWT. Solo il controllo della firma dimostra che non è stato alterato: verifica sempre lato server prima di fidarti di un claim.
- Accettare alg: none — Un token che dichiara
nonenon è firmato. Un server che rispetta quell'header può ricevere qualsiasi claim. Questo strumento lo segnala in rosso. - Mettere segreti nel payload — Il payload è codificato, non cifrato. Tutto ciò che ci metti è leggibile da chi possiede il token.
- Confondere secondi e millisecondi —
exp,iatenbfsono secondi dall'epoch. Passare un timestamp JavaScript in millisecondi sposta la scadenza di circa cinquantamila anni nel futuro.
Domande frequenti
Il mio token viene inviato da qualche parte?
No. La decodifica è base64url più parsing JSON, e il controllo HMAC usa il WebCrypto integrato nel browser. Succede tutto nella pagina. Non viene trasmesso nulla, e conta, perché un token attivo è di solito una credenziale funzionante.
Perché non posso verificare un token RS256?
RS256 ed ES256 usano chiavi asimmetriche: la verifica richiede la chiave pubblica dell'emittente, di solito recuperata da un endpoint JWKS. Dato che questa pagina non fa nessuna richiesta di rete, non può recuperare quella chiave. I token HMAC simmetrici si possono verificare perché il segreto lo fornisci tu.
Cosa significano i claim standard?
iss è l'emittente, sub il soggetto (di solito l'utente), aud il destinatario previsto, iat quando è stato emesso, nbf il primo istante di validità ed exp quando scade. Tutti e tre gli orari sono secondi dal 1º gennaio 1970 UTC.
Il token si decodifica ma la firma non torna: perché?
Il più delle volte il segreto è sbagliato, ha spazi in coda, oppure nella tua configurazione è codificato in base64 mentre qui viene usato grezzo. Può anche essere un algoritmo diverso, o un token alterato durante il trasporto: che è esattamente ciò che la firma serve a rilevare.
È sicuro incollare qui un token di produzione?
Non esce mai dal tuo browser, quindi nessuna richiesta lo porta via. Detto questo, con qualsiasi strumento l'abitudine più prudente è usare un token scaduto o di prova quando puoi. Puoi verificare l'affermazione staccando la connessione e constatando che la pagina funziona lo stesso.
Posso decodificare un token cifrato (JWE)?
No. Qui si gestiscono i token firmati (JWS), che sono quelli usati da quasi tutte le API. Un token JWE cifrato ha cinque parti invece di tre e richiede la chiave di decifratura.
Ultimo aggiornamento 2026-09-15