Decoder JWT: leggere header, payload e scadenza

Incolla un token JWT per visualizzarne l'header e il payload in formato JSON, leggere le date iat ed exp e sapere se è già scaduto.

Decodificare un JWT: header, claim e scadenza, senza firma

Un JWT (RFC 7519) è composto da tre segmenti codificati in Base64URL e separati da punti: header, payload e firma. Lo strumento decodifica i primi due in JSON, converte le date iat ed exp e indica se il token è scaduto; non verifica la firma, che richiede la chiave segreta o pubblica lato server.

Cosa fa il decodificatore

  1. Divide il token sui punti ed esige esattamente 3 segmenti; un JWE cifrato a 5 segmenti viene rifiutato.
  2. Sostituisce - e _ con + e /, completa con = e poi decodifica in UTF-8.
  3. Analizza header e payload con JSON.parse e mostra l'algoritmo (alg) e il tipo (typ).
  4. Converte iat ed exp (secondi dal 1º gennaio 1970) in data locale e confronta exp con l'ora del tuo dispositivo.

Esempio con il token d'esempio

L'header annuncia alg HS256 e typ JWT. Il payload contiene sub, name (Jean Dupont), admin, iss e due date: iat = 1516239022, cioè il 18 gennaio 2018 alle 01:30 UTC, ed exp = 1781623922, cioè il 16 giugno 2026 alle 15:32 UTC. Consultato il 14 ottobre 2026, il token è segnalato come Scaduto da circa 120 giorni. La firma viene mostrata così com'è, senza controllo.

Limiti di sicurezza

  • Un token modificato o contraffatto si decodifica esattamente come uno vero: una decodifica riuscita non prova nulla sulla sua autenticità.
  • Un token non firmato (alg none, terzo segmento vuoto) viene decodificato senza avviso.
  • I claim nbf, aud e iss non vengono controllati; solo exp dà luogo a uno stato.
  • Lo stato di scadenza dipende dall'orologio del tuo dispositivo.
  • Il payload è solo codificato, non cifrato: non inserirvi mai password né dati sensibili.

La decodifica avviene nel browser, senza invio del token.

Domande frequenti

Il decodificatore JWT verifica la firma del token?

No. Decodifica l'header e il payload e mostra la firma grezza, senza controllarla. Verificare una firma HS256 richiede la chiave segreta, RS256 o ES256 la chiave pubblica: fallo lato server con una libreria JWT.

Come capire se un JWT è scaduto?

Il claim exp contiene una data in secondi dal 1º gennaio 1970. Il token di esempio ha exp = 1781623922, cioè il 16 giugno 2026 alle 15:32 UTC: lo strumento lo segna come scaduto non appena l'orologio del tuo dispositivo supera questa data e mostra la differenza in giorni, ore e minuti.

Si può leggere il contenuto di un JWT senza la chiave?

Sì, un JWT firmato (JWS) è solo codificato in Base64URL: chiunque può leggere i suoi claim. Solo la firma impedisce di modificarli senza essere scoperti. Un JWE a 5 segmenti, invece, è cifrato e lo strumento lo rifiuta.

Perché lo strumento mostra «Formato JWT non valido»?

Il token deve contenere esattamente tre segmenti separati da punti. Una copia troncata, spazi, il prefisso Bearer o un token cifrato a 5 segmenti scatenano questo messaggio; un segmento che non è Base64URL contenente JSON provoca un errore di decodifica.

Lo strumento è davvero gratuito?

Sì, tutti gli strumenti di Kristools sono gratuiti al 100% e accessibili senza registrazione.

I miei dati sono protetti?

Sì. Tutte le elaborazioni vengono eseguite direttamente e in modo sicuro nel tuo browser. Nessun dato personale viene inviato ai nostri server.