🌐 IT

🔓 JWT Decoder

Incolla un JWT (JSON Web Token) per decodificarne subito header e payload da base64url in JSON formattato. I claim exp/iat/nbf vengono mostrati come orari leggibili, con un badge che indica se il token è scaduto.

⚠️ Questo strumento decodifica soltanto: non verifica la firma. Per motivi di sicurezza non è previsto alcun campo per la chiave segreta. Se ti serve la verifica della firma, usa una libreria JWT lato server.

GUIDA

Scopri di piu

01

1. Comprendere la struttura di un JWT

Un JWT ha tre parti separate da punti: header.payload.signature. L'header contiene l'algoritmo di firma (alg) e il tipo di token (typ); il payload contiene i claim effettivi (ID utente, permessi, data di emissione, ecc.), tutti codificati in base64url. La firma è header+payload firmato con un secret (o una chiave privata) e serve a verificare che il token non sia stato manomesso, ma questo strumento non esegue tale verifica.

02

2. I claim exp, iat e nbf

exp (expiration) indica quando il token scade, iat (issued at) quando è stato emesso, e nbf (not before) significa che il token non è valido prima di quell'istante. Tutti e tre sono memorizzati come timestamp Unix (secondi), quindi non sono leggibili a colpo d'occhio. Questo strumento li mostra sia in ora locale sia in ISO 8601, e segnala il badge "Scaduto" se exp è nel passato.

03

3. Quando serve la verifica della firma

Verificare la firma di un JWT richiede il secret usato per firmarlo (famiglia HMAC, ad esempio HS256) oppure la corrispondente chiave pubblica (famiglia RSA/ECDSA, ad esempio RS256/ES256). È un'operazione sensibile che va eseguita lato server, quindi questo strumento nel browser decodifica soltanto (permette di ispezionare il contenuto) e non chiede mai un secret. Per la verifica reale, usa una libreria JWT backend (jsonwebtoken, PyJWT, firebase-admin, ecc.).

Domande frequenti

Questo strumento può essere usato per falsificare un JWT?
No. Decodifica soltanto (base64url-decodifica) e non genera né verifica mai una firma. Una firma valida richiede il secret/la chiave privata nota solo all'emittente, e questo strumento non accetta mai questo valore.
Perché non c'è un campo per la chiave segreta?
Per sicurezza. Incollare segreti in strumenti browser è un'abitudine che rischia di esporli accidentalmente, quindi questo strumento è stato progettato per non accettarli proprio.
Come faccio a capire se un token è scaduto?
Se il payload include un claim exp, viene confrontato automaticamente con l'ora corrente e mostrato con il badge "Scaduto" oppure "Valido (non ancora scaduto)".
Il token che incollo viene inviato a un server?
No. La decodifica avviene interamente nel JavaScript del tuo browser e non viene mai inviata a un server.