Decodificatore JWT
Decodifica qualsiasi JSON Web Token nel browser: header e payload, exp, iat e nbf come date reali nel tuo fuso orario, e se il token è scaduto.
Riepilogo
Header (intestazione)
Payload (claim)
Token e firma
Leggi qualsiasi JWT senza inviarlo da nessuna parte
Incolla un JSON Web Token e il decodificatore lo divide nelle sue tre parti: l’header (con quale algoritmo è stato firmato), il payload (i claim: chi è l’utente, a cosa può accedere e quando scade il token) e la firma. Il JSON viene formattato per leggerlo al volo.
I claim temporali diventano date vere. exp, iat e nbf sono mostrati nel tuo fuso orario, in UTC e come “tra 20 minuti” o “3 giorni fa”, e lo stato ti dice subito se il token è ancora valido, scaduto o non ancora valido.
Spesso un token dà accesso ad account reali, perciò tutto viene decodificato nel tuo browser. Il token non viene mai caricato sul nostro server, registrato o salvato: è più sicuro che incollarlo in un chatbot o in un sito che lo invia a un server.
Come decodificare un JWT
- Copia il token dalla tua app, da un header
Authorization, da un cookie o dagli strumenti per sviluppatori del browser. - Incollalo nella casella. Il prefisso
Bearer, le virgolette, gli spazi e gli a capo vengono rimossi in automatico. - Leggi il riepilogo: stato, algoritmo, emittente, soggetto, destinatario e orari esatti di emissione e scadenza.
- Con i pulsanti di copia porti il JSON formattato dell’header o del payload in una segnalazione di bug o nei tuoi appunti.
Cosa significano i claim più comuni
exp(expiration time): dopo questo momento il token va rifiutato.iat(issued at): quando è stato creato il token.nbf(not before): il token non va accettato prima di questo momento.iss(issuer): chi ha creato il token, spesso l’URL del tuo server di login.sub(subject): a chi si riferisce il token, di solito un ID utente.aud(audience): l’app o l’API a cui è destinato il token.algekid(nell’header): l’algoritmo di firma, come HS256 o RS256, e l’ID della chiave che l’ha firmato.
Le date di un JWT sono valori NumericDate: il numero di secondi dal 1° gennaio 1970 UTC. Il decodificatore le converte per te, quindi non serve un convertitore di timestamp a parte.
Consigli per il debug
- Se un’API risponde 401 subito dopo il login, controlla prima
expenbf. Un orologio del server avanti o indietro di qualche minuto è una causa comune; la maggior parte delle librerie concede un piccolo margine. - Una data tra decine di migliaia di anni significa che il valore è stato scritto in millisecondi invece che in secondi. Il decodificatore ti avvisa quando succede.
- Confronta
audeisscon ciò che si aspetta la tua API. Un token emesso per un’altra app o un altro ambiente (staging invece di produzione) causa spesso errori di “token non valido”. - Un header con
alguguale anoneindica un token non firmato. Non accettare mai questi token in produzione.
Limiti e cose da sapere
- Decodificare non è verificare. Chiunque può creare un token con qualsiasi claim; solo il controllo della firma con la chiave giusta, sul tuo server, prova che è autentico. Questo strumento non verifica le firme.
- Il payload di un JWT normale è solo codificato, non cifrato. Chiunque abbia il token può leggerlo, quindi non mettere mai password o segreti nei claim.
- I token cifrati (JWE, a cinque parti) non si possono leggere senza la chiave, per cui viene mostrato solo l’header.
- I numeri sono mostrati esattamente come compaiono nel token, quindi gli ID numerici lunghi non vengono mai arrotondati.
Domande frequenti
È sicuro incollare qui un token reale?
Sì. La decodifica avviene in JavaScript nel tuo browser e il token non viene mai inviato al nostro server. Tratta comunque i token attivi come password: non condividerli in screenshot o chat e lasciali scadere.
Questo strumento mi dice se un token è valido?
Ti dice se il token è scaduto o non è ancora valido, in base alle sue date. Non può dirti se la firma è autentica, perché servirebbe la chiave segreta o pubblica che dovrebbe avere solo il tuo server.
Perché il mio token risulta scaduto se l’ho appena ricevuto?
Controlla l’orologio del server che l’ha emesso e verifica che exp sia in secondi e non in millisecondi. Se anche iat è indietro di ore, probabilmente l’orologio del server è sbagliato.
Che differenza c’è tra un decodificatore JWT e uno Base64?
Un JWT è formato da tre parti codificate in Base64URL unite da punti. Un decodificatore Base64 legge una parte alla volta, mentre il decodificatore JWT divide il token per te, gestisce l’alfabeto sicuro per URL e il riempimento mancante e trasforma le date in orari leggibili.
Funziona offline?
Sì. Una volta caricata la pagina, puoi scollegarti da internet e continuare a decodificare token.
Strumenti correlati
- Decodificatore Base64: Decodifica subito stringhe Base64 in testo leggibile. Analizza header di autenticazione, token, payload API e contenuti email. Decoder Base64 gratuito.
- Validatore e formattatore JSON: Valida e formatta JSON online. Trova gli errori di sintassi e rendi leggibile il JSON minificato con un'indentazione chiara. JSON formatter gratis.
- Decodificatore URL: Decodifica URL e query string in percent-encoding e riportali a testo leggibile. Trasforma %20, %26 e %C3%A9 in caratteri normali all'istante. Gratis.
- Codificatore Base64: Codifica all'istante qualsiasi testo o stringa in Base64. Utile per data URI, header HTTP Basic auth, email e API. Encoder Base64 online gratuito.
Strumenti simili
Decodifica subito stringhe Base64 in testo leggibile. Analizza header di autenticazione, token, payload API e contenuti email. Decoder Base64 gratuito.
Valida e formatta JSON online. Trova gli errori di sintassi e rendi leggibile il JSON minificato con un'indentazione chiara. JSON formatter gratis.
Decodifica URL e query string in percent-encoding e riportali a testo leggibile. Trasforma %20, %26 e %C3%A9 in caratteri normali all'istante. Gratis.
Strumenti gratis più usati
Crea password sicure e casuali con un clic. Scegli la lunghezza e includi maiuscole, minuscole, numeri e simboli. Gratis, senza registrazione.
Converti il testo in MAIUSCOLO, minuscolo, Frase, Iniziali Maiuscole, camelCase, PascalCase, snake_case, CONSTANT_CASE, dot.case o param-case. Gratis.
Estrai con un clic tutti gli indirizzi email da testo, HTML, log o documenti e ottieni un elenco pulito con il conteggio. Estrattore di email gratuito.
Controlla i record DNS di qualsiasi dominio: A, AAAA, CNAME, MX, NS, TXT e SOA. Verifica email, SPF, record di verifica e nameserver gratis.
Converti il testo tra separatori: a capo, spazi, punti e virgola, trattini, barre verticali o punti. Trasforma una colonna in una riga e viceversa. Gratis.
Crea un link WhatsApp click-to-chat con il tuo numero e un messaggio precompilato. Aggiungilo a sito, bio, annunci o codici QR. Generatore wa.me gratuito.