Sviluppatori

Decodificatore JWT

Incolla un JWT qualsiasi per decodificarne istantaneamente header e payload — ispeziona claim, scadenze e firma senza lasciare il browser o inviare dati altrove.

Questo strumento ti è stato utile?

Cos'e' Decodificatore JWT?

Un JWT (JSON Web Token) è il modo standard con cui le moderne API web rappresentano claim di autenticazione e autorizzazione. È un token compatto e autonomo composto da tre parti — un header che descrive l'algoritmo di firma, un payload che trasporta i claim effettivi (come ID utente, ruoli e scadenza), e una firma che permette al server ricevente di verificare che il token non sia stato alterato. Questo decodificatore legge istantaneamente header e payload così puoi fare debug di problemi di autenticazione, ispezionare quali claim un'API sta effettivamente inviando, o controllare quando scade un token — tutto senza bisogno di un backend, di uno strumento a riga di comando, o di incollare token sensibili su un server di terze parti, dato che tutto viene eseguito localmente nel tuo browser.

Quando Usare Questo Calcolatore

  • Debug del motivo per cui un'API rifiuta un token ispezionandone i claim e la scadenza
  • Controllo della scadenza di un token durante un'indagine di supporto o risposta a incidenti
  • Verificare che un provider SSO o OAuth emetta i claim che la tua applicazione si aspetta.
  • Imparare come sono strutturati i JWT per un colloquio di lavoro o un corso di sicurezza
  • Ispezione di un token catturato dagli strumenti per sviluppatori del browser o dai log del server per comprenderne il contenuto
  • Confronto dell'algoritmo dell'header tra token per fare debug dei fallimenti di autenticazione da algoritmo non corrispondente

Passaggi:

  1. Incolla il tuo JWT nella casella di input, oppure clicca "Carica Esempio" per provarne uno.
  2. Header e payload vengono decodificati automaticamente man mano che digiti.
  3. Esamina claim come iss, sub, exp e iat in forma chiara e leggibile.
  4. I claim con timestamp (exp, iat, nbf) vengono automaticamente convertiti in date leggibili.

Formula

JWT = base64Url(header) + "." + base64Url(payload) + "." + base64Url(signature) Decodifica: dividi su ".", decodifica in Base64Url le prime due parti, esegui il parsing come JSON. Verifica (non eseguita qui): HMACSHA256(base64Url(header) + "." + base64Url(payload), secret) === signature

Casi d'Uso

  • Fare debug del motivo per cui un'API rifiuta un token ispezionandone i claim
  • Controllare la scadenza di un token durante un'indagine di supporto
  • Verificare che un provider SSO o OAuth stia emettendo i claim attesi
  • Imparare come sono strutturati i JWT per un colloquio di lavoro o per un corso
  • Ispezionare rapidamente un token copiato dagli strumenti per sviluppatori del browser o dai log del server

Vantaggi Principali

  • Decodifica qualsiasi JWT istantaneamente senza backend o strumenti da riga di comando
  • Tutto viene eseguito lato client — i token non vengono mai inviati a un server
  • Converte automaticamente i claim con timestamp in date leggibili
  • Gratuito, senza registrazione, funziona con qualsiasi JWT indipendentemente dall'algoritmo

Consigli Pro

  • Controlla sempre prima 'exp' quando fai debug di un errore "unauthorized" — un token scaduto è la causa più comune
  • Confronta l'"alg" nell'header con ciò che si aspetta il tuo backend per individuare bug di algoritmo non corrispondente
  • Non fidarti mai di un payload decodificato come prova di identità senza verificare la firma lato server
  • Usa token a breve durata con token di refresh invece di JWT a lunga durata per limitare l'esposizione in caso di fuga

Errori Comuni da Evitare

  • Presumere che un JWT decodificato sia un JWT verificato — la decodifica legge solo il contenuto, non ne conferma l'autenticità
  • Memorizzare dati sensibili (password, segreti) nel payload, dimenticando che è leggibile da chiunque
  • Incollare token di produzione in decodificatori online non affidabili
  • Confondere 'exp' (scadenza) con 'iat' (emesso il) quando si fa debug di problemi sul ciclo di vita del token

Termini Chiave Spiegati

Claim: un'informazione affermata su un soggetto, come un ID utente o un ruolo
Header: il primo segmento del JWT, che specifica l'algoritmo di firma e il tipo di token
Payload: il secondo segmento del JWT, che contiene i claim effettivi
Firma: il terzo segmento del JWT, usato per verificare che il token non sia stato alterato

Concetti correlati

  • Generatore hash:
  • Generatore UUID:
  • Codificatore/decodificatore Base64:
  • Formattatore JSON:
  • Verificatore forza password:

Esempio

Un token che inizia con eyJhbGciOiJIUzI1NiJ9 viene decodificato in un header {"alg":"HS256","typ":"JWT"} — indicando che il token è firmato con HMAC-SHA256.

Interpretazione dei risultati

Il decodificatore separa il JWT sui due punti e decodifica i primi due segmenti in Base64URL. L'header indica l'algoritmo di firma (come HS256 o RS256) e il tipo di token. Il payload contiene le vere claim: identità dell'utente, autorizzazioni e timestamp. Le claim temporali (exp, iat, nbf) vengono convertite automaticamente dall'epoca Unix in date leggibili. Se 'exp' mostra una data passata, il token è scaduto e la maggior parte dei server lo rifiuta. La claim 'sub' (subject) contiene in genere l'ID utente e 'iss' (issuer) identifica il server che ha creato il token. Ricorda che decodificare non è verificare. La sezione della firma viene mostrata ma non può essere verificata senza la chiave segreta o pubblica. Un payload decodificato è solo informativo: non fidartene mai come prova di identità senza verifica della firma lato server.

Domande Frequenti

Cos'è un JWT?
Un JSON Web Token (JWT) è un modo compatto e sicuro per URL di rappresentare claim tra due parti. È composto da tre parti codificate in Base64URL separate da punti: un header, un payload e una firma.
È sicuro incollare il mio JWT in questo strumento?
La decodifica avviene interamente nel tuo browser tramite JavaScript — il token non viene mai inviato a nessun server. Detto ciò, tratta i JWT come password: evita di incollare token di sistemi di produzione in qualsiasi strumento online, incluso questo.
Perché questo strumento non può verificare la firma?
Verificare la firma di un JWT richiede la chiave segreta (per algoritmi HMAC) o la chiave pubblica (per algoritmi RSA/ECDSA) che solo il server emittente dovrebbe possedere. Questo strumento decodifica solo l'header e il payload leggibili — non ha mai accesso a quella chiave.
Cosa significa il claim 'exp'?
'exp' (Expiration Time) è un timestamp Unix che indica quando il token smette di essere valido. Questo strumento lo converte automaticamente in una data leggibile così puoi verificare rapidamente se un token è scaduto.
Cos'è un JWT?
Un JSON Web Token (JWT) è un modo compatto e sicuro per gli URL di rappresentare le rivendicazioni tra due parti. È composto da tre parti codificate in Base64URL separate da punti: un'intestazione, un contenuto e una firma.
È sicuro incollare il mio JWT in questo strumento?
Gli algoritmi più comuni includono HS256 (HMAC-SHA256, simmetrico), RS256 (RSA-SHA256, asimmetrico) e ES256 (ECDSA). Il campo 'alg' dell'header specifica l'algoritmo. I più usati per le API web sono HS256 o RS256.
Perché questo strumento non può verificare la firma?
'iat' (Issued At) è il momento in cui il token è stato creato. 'nbf' (Not Before) è il momento in cui il token diventa valido. Se 'nbf' è nel futuro, il token dovrebbe essere rifiutato anche se non è ancora scaduto.
Cosa significa il claim 'exp'?
L'header e il payload sono solo codificati in Base64URL, non cifrati. Chiunque può leggerli. Non inserire mai password, segreti o dati personali sensibili nel payload di un JWT. Includi solo claim non sensibili come ID utente, ruoli e timestamp.
Quali algoritmi può usare un JWT?
I token di accesso di solito durano 15–60 minuti. I token di refresh durano da ore a giorni. I token di accesso a breve durata con token di refresh a lunga durata bilanciano sicurezza ed esperienza utente.
Come copio i claim decodificati?
Un token di refresh è un token a lunga durata usato per ottenere nuovi token di accesso senza richiedere all'utente di autenticarsi di nuovo. Quando il token di accesso a breve durata scade, il client invia il token di refresh per ottenere un nuovo token di accesso.
Come copio i claim decodificati?
L'header e il payload decodificati vengono mostrati come JSON formattato. Puoi copiare l'intero output decodificato o singoli valori di claim per scopi di debug o documentazione.

Scopri Altri Strumenti

Una selezione fresca da tutta la nostra libreria di strumenti.