Decodificatore JWT

Decodificatore JWT

Decodifica e ispeziona JSON Web Token all'istante — visualizza header, payload, verifica firme HMAC e genera codice JWT in PHP, JavaScript, Python e Java.

Aggiornato maggio 2026

Revisionato da Rafael Duarte

CODIFICATO
DECODIFICATO

Incolla un token JWT a sinistra per decodificarlo

GENERA CODICE JWT
Linguaggio
Algoritmo
javascript
 1const jwt = require('jsonwebtoken');
 2
 3const secretKey = 'your-256-bit-secret';
 4
 5const payload = {
 6  sub: '1234567890',
 7  name: 'John Doe',
 8  iat: Math.floor(Date.now() / 1000)
 9};
10
11const token = jwt.sign(payload, secretKey, { algorithm: 'HS256' });
12console.log(token);
13
14// To verify:
15const decoded = jwt.verify(token, secretKey, { algorithms: ['HS256'] });
16console.log(decoded);

Come decodificare un token JWT

JWT decoder online: leggi le claim, verifica la firma, genera il codice

1. Incolla il token

Le tre parti compaiono colorate: header in rosa, payload in viola, firma in ciano. Non serve alcuna chiave per leggerle.

2. Controlla le claim

iat, exp e nbf vengono affiancati da una data ISO 8601 leggibile, così capisci subito se il token è scaduto.

3. Verifica la firma

Per HS256, HS384 e HS512 inserisci il secret: un badge verde o rosso conferma se la firma è valida.

Cosa fa questo decodificatore JWT

Un debugger completo, non solo un lettore di payload

Decodifica istantanea

Header, payload e firma separati ed evidenziati a colori appena incolli il token.

Date delle claim leggibili

exp, iat e nbf mostrano il valore Unix e la data ISO corrispondente, senza conversioni a mano.

Verifica firma HMAC

HS256, HS384 e HS512 verificati nel browser con la Web Crypto API, anche con secret codificato in Base64URL.

Generatore di codice JWT

Snippet pronti in JavaScript, PHP, Python e Java per firmare e verificare token nel tuo progetto.

Template HMAC e RSA

Il generatore copre HS256/384/512 con chiave segreta e RS256/384/512 con coppia di chiavi privata/pubblica.

Scorciatoia da tastiera

Shift+Invio, fuori dai campi di testo, copia il payload formattato come JSON.

Esempi di decodifica

Caso
Cosa mostra lo strumento
Token di esempio di jwt.io
`alg: HS256`, claim `sub`, `name`, `iat` — nessuna `exp` impostata
Token scaduto (`exp` nel passato)
La data di scadenza compare accanto al valore Unix grezzo
Token malformato (solo 2 parti)
Errore: formato atteso `header.payload.signature`
Token con `alg: none`
Decodificato normalmente, verifica della firma non disponibile
Token con `alg: RS256`
Header e payload leggibili; la verifica nel browser copre solo gli algoritmi HS

Quando ti serve

Gli scenari più frequenti di chi lavora con i JWT

Capire un 401 Unauthorized

Controlla exp, aud e l'algoritmo prima di mettere mano al codice dell'API.

Revisione di sicurezza

Verifica che nel payload non finiscano dati personali o informazioni che non dovrebbero viaggiare in chiaro.

Test di integrazione

Conferma claim, durata (exp − iat) e algoritmo prima di scrivere le asserzioni dei test.

Secret condiviso tra servizi

Verifica che il token emesso da un microservizio sia firmato con lo stesso secret atteso dall'altro.

Studiare la struttura di un JWT

La vista divisa per colori rende chiaro come sono composti header, payload e firma senza leggere tutta la RFC.

Firmare token nel proprio backend

Parti da uno snippet funzionante per jsonwebtoken, firebase/php-jwt o PyJWT invece di cercare la firma dei metodi.

Errori comuni con i JWT

Confondere decodifica e verifica

Decodificare significa solo leggere il Base64URL. Un token può decodificarsi perfettamente ed essere comunque falsificato: l'autenticità la garantisce solo la verifica della firma.

Accettare `alg: none` in produzione

Un token con alg: none non ha firma. Le librerie moderne lo rifiutano di default, ma conviene controllare eventuali validazioni scritte a mano.

Non controllare la claim `exp`

Senza scadenza un token rubato resta valido a tempo indeterminato. Una durata breve con refresh token limita il danno.

Dati sensibili nel payload

Il payload è solo codificato, non cifrato: chiunque abbia il token lo legge. Niente password, numeri di carta o codice fiscale nelle claim.

Aspettarsi di verificare RS256 dal solo token

Gli algoritmi asimmetrici (RS, ES) richiedono la chiave pubblica dell'emittente; in questo strumento la verifica è disponibile solo per HS256/384/512.

Perché usare questo JWT decoder

Oltre a decodificare, verifica le firme HMAC e genera codice pronto in quattro linguaggi: in una sola pagina hai lettura, controllo e implementazione.

Tutto avviene in locale con la Web Crypto API. Token e secret non lasciano il dispositivo, nemmeno durante la verifica della firma — un dettaglio che conta quando si fa debug con token reali. Gratuito, senza registrazione e senza limiti al numero di token.

Domande frequenti

Perché è codificato in Base64URL, non cifrato. Chiunque abbia la stringa del token può decodificarla e leggere le claim. La firma dimostra chi ha emesso il token e che non è stato modificato, ma non nasconde il contenuto.

Riferimenti

Strumenti correlati