Vai al contenuto principale

Decoder JWT

Incolla un JSON Web Token: header e payload vengono decodificati in JSON mentre scrivi, con un riepilogo di algoritmo, emittente, audience e date exp, iat e nbf in ora locale.

  • Appunti

Integra questo widget

Personalizza il risultato, controlla l’anteprima e copia il codice.

Anteprima

Tipo di codice di integrazione

Codice da copiare

Responsive e ridimensionato automaticamente da Bethemesh.

La decodifica non verifica la firma: chiunque può leggere un JWT. Per controllare la firma usa il verificatore JWT.

Questo strumento ti è stato utile?

Come funziona questo strumento?

Il decoder JWT mostra in chiaro header e payload di un JSON Web Token non appena lo incolli. È pensato per sviluppatori, tester e team di supporto che devono capire rapidamente cosa contiene un access token o un ID token: algoritmo, emittente, audience e date di validità. Legge il token ma non ne verifica la firma.

Un JWT firmato (RFC 7519, nel formato JWS compatto della RFC 7515) è composto da tre segmenti separati da punti: header, payload e firma. I primi due sono JSON codificato in Base64URL, una variante di Base64 che sostituisce + e / con - e _ ed elimina il riempimento =. Il decoder divide il token, converte ogni segmento in testo UTF-8 e lo analizza come JSON. Ad esempio, il segmento eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 corrisponde a {"alg":"HS256","typ":"JWT"}.

Il riepilogo estrae poi i campi utili: alg e typ dall’header, iss (emittente), sub (soggetto) e aud (audience) dal payload. I claim exp, iat e nbf sono NumericDate, cioè un numero di secondi dal 1° gennaio 1970 UTC: 1767225600 corrisponde al 1° gennaio 2026 alle 00:00 UTC. Lo strumento li converte in ora locale e indica se il token è valido, scaduto o non ancora valido. Compare un avviso se l’header dichiara alg: none, cioè un token non firmato.

Come usare questo strumento

  1. Incolla il JWT

    Incolla il token completo con le sue tre parti separate da punti. La decodifica parte mentre scrivi, senza premere pulsanti.

  2. Leggi header e payload

    I due segmenti vengono mostrati in JSON formattato: algoritmo e tipo nell’header, claim standard e personalizzati nel payload.

  3. Consulta il riepilogo

    Controlla algoritmo, iss, sub, aud e le date exp, iat e nbf in ora locale con il loro stato. Per verificare la firma, passa al verificatore JWT.

Casi d’uso

Diagnosticare un errore 401

Un’API rifiuta la tua richiesta: decodifica il token Bearer per vedere se è scaduto, se l’audience aud corrisponde all’API chiamata o se l’emittente iss è quello dell’ambiente giusto.

Leggere i ruoli di un ID token

Dopo un login OpenID Connect (Auth0, Keycloak, Entra ID, Cognito), controlla claim personalizzati come roles, groups o scope per capire perché un utente non accede a una pagina.

Controllare la durata dei token

Confronta iat ed exp per verificare che il tuo identity provider emetta davvero access token da 5, 15 o 60 minuti, come previsto dalla configurazione.

Esempi

Decodifica un JWT dimostrativo

Input

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Risultato

Header: {"alg":"HS256","typ":"JWT"}; Payload: {"sub":"1234567890","name":"John Doe","iat":1516239022}; firma non verificata (la decodifica non controlla la firma)

Consigli e buone pratiche

  • Togli il prefisso «Bearer» copiato da un header Authorization: va incollato solo il token eyJ….
  • Un token che inizia con eyJ e ha cinque segmenti è un JWE cifrato (RFC 7516): il suo contenuto non si può leggere senza la chiave di decifratura.
  • Lo stato «valido» riguarda solo le date: un token leggibile e non scaduto può comunque essere falsificato finché la firma non è stata verificata.

Fonti e riferimenti

Domande frequenti

Si può decodificare un JWT senza la chiave segreta?

Sì. Header e payload sono solo codificati in Base64URL, non cifrati, quindi chiunque abbia il token può leggerli. La chiave serve solo a verificare la firma, compito del verificatore JWT e non di questo decoder.

Il contenuto di un JWT è cifrato?

No, un JWT firmato (JWS) è leggibile da chiunque; la firma garantisce solo che non sia stato modificato. Non inserire mai password o dati riservati nel payload. Se il contenuto deve restare segreto, serve un JWE (RFC 7516).

Cosa significano exp, iat e nbf?

exp è la data di scadenza, iat la data di emissione e nbf la data prima della quale il token non va accettato. Sono secondi Unix (NumericDate, RFC 7519), non millisecondi. Lo strumento li mostra in ora locale con lo stato valido, scaduto o non ancora valido.

Perché l’avviso alg: none è importante?

alg: none significa che il token non è firmato affatto. Un server che lo accetta permette a chiunque di creare i propri token, una vulnerabilità nota descritta nella RFC 8725. Un’applicazione in produzione deve sempre imporre un elenco di algoritmi consentiti.

Perché il mio JWT non si decodifica?

Spesso il token è stato troncato durante il copia e incolla, contiene ancora il prefisso Bearer o delle virgolette, oppure non ha tre segmenti. Anche un segmento che non è Base64URL valido o il cui contenuto non è JSON genera un errore.

È rischioso incollare un token reale in un decoder online?

Un access token valido è una credenziale: chi lo ottiene può usarlo fino alla scadenza. Qui la decodifica avviene nel tuo browser e il token non viene inviato a nessun server. Quando puoi, usa comunque token di test o già scaduti.

Flusso di lavoro consigliato

Scopri gli strumenti che si integrano naturalmente prima, dopo o insieme a questo.

Funziona bene con

Codifica un testo in Base64 o decodifica una stringa Base64 per recuperarne il contenuto originale.

Sicurezza e privacyIn evidenzaUsa questo strumento

Formatta, minifica e valida un documento JSON per renderlo più leggibile o compatto.

Sicurezza e privacyIn evidenzaUsa questo strumento

Calcola in un colpo solo gli hash MD5, SHA-1, SHA-256, SHA-384 e SHA-512 di un testo o di un file.

Sicurezza e privacyIn evidenzaUsa questo strumento

Passaggio successivo

Verifica la firma di un JWT con un segreto HMAC o una chiave pubblica JWK, JWKS o PEM, poi controlla exp, nbf, iss e aud.

Sicurezza e privacyUsa questo strumento