Vai al contenuto
SPCXTools

Decoder JWT

Decodifica JSON Web Token, controlla la scadenza e verifica le firme HMAC — in modo privato, nel tuo browser.

Funziona localmente: i file non lasciano mai il tuo dispositivo

Caricamento strumento…

Come usare Decoder JWT

  1. 1Incolla un JWT (tre parti Base64URL separate da punti) nel riquadro Token, oppure fai clic su Carica esempio.
  2. 2Leggi l'Header e il Payload decodificati come JSON formattato.
  3. 3Controlla la riga di stato per vedere se il token è valido, scaduto o non ancora valido; i claim temporali sono mostrati come date leggibili.
  4. 4Per i token HS256, HS384 o HS512, inserisci il segreto per verificare la firma localmente.

Decodifica JSON Web Token

Un JSON Web Token (JWT) è una stringa compatta usata per trasmettere informazioni su identità e permessi tra sistemi, il più delle volte come header Authorization: Bearer dopo il login. Sembra un testo casuale, ma è composto da tre parti codificate in Base64URL: un header, un payload di claim e una signature. Questo decoder JWT divide il token, decodifica le prime due parti in JSON leggibile e spiega i claim più importanti. La decodifica e la verifica avvengono localmente, quindi il tuo token non viene mai trasmesso.

Funzionalità

  • Header e payload decodificati e ben formattati, ciascuno con un pulsante di copia.
  • Spiegazione dei claim temporali: iat, nbf, exp e auth_time convertiti da secondi epoch a date nel tuo fuso orario.
  • Controllo della scadenza che ti dice a colpo d'occhio se il token è scaduto o non ancora attivo.
  • Verifica della firma HMAC per HS256, HS384 e HS512 utilizzando la Web Crypto API del tuo browser.
  • Funziona offline dopo il caricamento della pagina; nessun dato viene inviato all'esterno.

Quando usarlo

Debug dell'autenticazione. Quando una richiesta fallisce con errore 401 Unauthorized, decodifica il token per verificare se è scaduto, se è stato emesso per l'audience corretta (aud) o se contiene i ruoli e gli scope previsti.

Sviluppo e test di API. Verifica che il tuo server inserisca nel token i claim desiderati, con i tempi di scadenza corretti, prima del rilascio.

Imparare come funzionano OAuth e OpenID Connect. Gli ID token e gli access token dei provider di identità sono spesso JWT. Decodificare un token di test mostra quali informazioni il provider condivide su un utente.

Anatomia di un JWT

header.payload.signature

  • Header — il tipo di token e l'algoritmo di firma, ad esempio {"alg":"HS256","typ":"JWT"}.
  • Payload — i claim. I claim registrati includono iss (emittente), sub (soggetto, di solito l'ID utente), aud (destinatari), exp, nbf, iat e jti (ID del token). Le app aggiungono claim personalizzati come name o role.
  • Signature — creata firmando header.payload con un segreto (HMAC) o una chiave privata (RSA, ECDSA, EdDSA). Se qualcuno modifica anche un solo carattere dell'header o del payload, la firma non corrisponde più.

Poiché il payload è solo codificato, non inserire mai segreti come le password in un JWT. Per decodificare altri dati in Base64, usa il tool Base64; per ispezionare qualsiasi timestamp, usa il Convertitore di Timestamp Unix.

Domande frequenti

È sicuro incollare un token reale qui?
Il token viene decodificato e verificato interamente nel tuo browser e non viene mai inviato al nostro server. Tuttavia, un JWT è una credenziale: trattalo come una password, evita di condividere token di produzione e preferisci token di test quando possibile.
Decodificare un JWT dimostra che è autentico?
No. Chiunque può decodificare l'header e il payload perché sono solo codificati in Base64URL, non crittografati. Un token è affidabile solo se la sua firma viene verificata con la chiave corretta. Per i token HMAC puoi effettuare la verifica qui inserendo il secret; i token RSA e ECDSA devono essere verificati con la chiave pubblica dell'emittente nella tua applicazione.
Cosa significano exp, iat e nbf?
exp (expiration time) indica quando il token smette di essere valido, iat (issued at) quando è stato creato, e nbf (not before) è il momento prima del quale non può essere utilizzato. Tutti e tre sono timestamp Unix in secondi; il decoder li converte in date nel tuo fuso orario.
Perché dice che il token non è valido?
Un JWT deve avere esattamente tre parti separate da punti, e le prime due devono essere JSON codificati in Base64URL. Verifica di aver copiato l'intero token senza il prefisso Bearer , virgolette o interruzioni di riga.
Può decodificare token crittografati (JWE)?
No. I JWT crittografati hanno cinque parti e il loro payload può essere letto solo con la chiave di decrittazione. Questo strumento gestisce i token firmati (JWS), che sono quelli utilizzati dalla maggior parte delle API.