Decodificatore JWT
Leggi l'intestazione, i claim e la scadenza di un JSON Web Token nel tuo browser. Solo decodifica: nessuna firma viene verificata.
Gira interamente nel tuo browser. Non viene caricato, registrato o salvato niente.
Questo decodifica. Non verifica. Niente di quello che segue dice se il token è autentico. Chiunque abbia un token firmato può leggerne i claim, e chiunque può scrivere un token che assomiglia a questo. Verifica la firma nella tua applicazione, con la tua chiave.
Incolla un token e vedi la sua intestazione, i suoi claim e la sua scadenza. La decodifica avviene nel tuo browser: il token non viene inviato, registrato o salvato.
Questo strumento non controlla la firma, e niente di quello che ti mostra significa che il token sia autentico.
Come funziona
Un JSON Web Token sono tre parti codificate in base64url separate da punti: un'intestazione che dice quale algoritmo l'ha firmato, un payload di claim e una firma sulle prime due. Le prime due sono codificate, non cifrate: chiunque abbia il token può leggerle, che è esattamente quello che succede qui.
I claim temporali registrati sono mostrati come date leggibili: `exp` quando smette di essere valido, `nbf` quando comincia, `iat` quando è stato emesso. Vengono confrontati con il tuo orologio per dire in che punto della sua finestra si trova il token.
La firma è mostrata com'era scritta e non viene decodificata. È una firma su byte, non su testo, e mostrarla come caratteri farebbe pensare che dica qualcosa.
Esempi
| Caso | Dati inseriti | Risultato |
|---|---|---|
| Un token che dichiara di non avere firma | eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjM0NTY3ODkwIn0. | alg none, typ JWT, sub 1234567890 |
Domande frequenti
Perché non verifica la firma?
Perché verificare richiede la chiave di firma, e una pagina che te la chiedesse ti starebbe chiedendo di incollare in un sito il segreto che protegge il tuo sistema. C'è anche un motivo più sottile: un decodificatore che sembrasse verificare ti inviterebbe a fidarti di un payload che chiunque avrebbe potuto scrivere. Verifica nella tua applicazione, con la tua chiave.
Un JWT è cifrato?
No. Un token firmato è codificato, che non è la stessa cosa: chiunque lo abbia può leggere ogni suo claim, senza bisogno di chiave. Non mettere mai in un token niente che chi lo porta non debba vedere. I token cifrati esistono — hanno cinque parti invece di tre — e questo strumento non li sa leggere.
Cosa vuol dire un algoritmo «none»?
Che il token non porta nessuna firma. È l'attacco più antico contro i JWT: togliere la firma, mettere `alg` a `none` e sperare che la libreria ricevente lo accetti. La pagina segnala un token del genere; se ne stai vedendo uno che non hai creato tu, trattalo come ostile.
Il mio token esce dal browser?
No. La decodifica gira in locale in JavaScript, e non c'è un link da condividere per questo strumento, perché un link metterebbe il token in un URL, dove finirebbe nella cronologia del browser e nei log del server.
Da sapere
- Solo decodifica. Nessuna firma viene verificata, e niente in questa pagina dice se un token è autentico.
- Il token viene decodificato nel tuo browser e non viene mai inviato, registrato o salvato. Lo strumento ha bisogno di JavaScript; senza, non c'è nessuna decodifica.
- Un token firmato è leggibile da chiunque lo abbia. Tratta ogni suo claim come pubblico.