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:
- Incolla il tuo JWT nella casella di input, oppure clicca "Carica Esempio" per provarne uno.
- Header e payload vengono decodificati automaticamente man mano che digiti.
- Esamina claim come iss, sub, exp e iat in forma chiara e leggibile.
- 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.

