Codifica
JWT Encoder/Decoder
Codifica e decodifica di token JWT — header, payload, firma HMAC e campi standard.
Gli esempi firmati (tutti tranne none) richiedono HTTPS — la pagina è attualmente aperta senza HTTPS.
Per RS/PS/ES la chiave viene generata automaticamente e temporaneamente — solo a scopo dimostrativo, non riutilizzabile.
Gli esempi firmati (tutti tranne none) richiedono HTTPS — la pagina è attualmente aperta senza HTTPS.
Claims
A JWT (JSON Web Token) is a compact format for transmitting signed data, made of three dot-separated parts: a header, a payload, and a signature. This tool decodes any JWT and shows all three parts, and can also build a new token signed with HMAC.
Decoding does not verify the signature — reading a token's contents needs no secret key. Verifying the signature only matters when you need to trust the token as genuine.
How to use it
- Decode: paste a JWT and the tool splits it into header, payload, and signature, highlighting standard claims like exp, iat, and sub.
- Encode: fill in the header and payload, provide a secret, and get a signed HMAC token (HS256/HS384/HS512) back.
- Check expiry: the exp claim is shown as a normal date, so you can immediately tell if a token has expired.
Common uses
- Debugging authentication issues by inspecting exactly what a request's token contains.
- Checking which claims (roles, permissions, expiry) your backend issues.
- Generating a test token for local development without running an auth server.
Things to keep in mind
A JWT is not encrypted, only Base64URL-encoded — anyone can read the payload. Never put passwords or other secrets in it.
The signature protects against tampering, not against being read. For confidentiality you need extra encryption (JWE) or an HTTPS transport.
Articolo su questo strumento: JWT: struttura del token e cosa significa "decodificare" un JWT
Domande frequenti
Decodificare un JWT ne verifica la firma?
No. La decodifica esegue solo il base64url-decode dell'header e del payload per leggerne le claim — non dimostra che il token sia autentico. Per verificare davvero la firma serve inserire qui la chiave segreta o pubblica corretta.
È sicuro incollare un JWT reale in questo strumento?
Decodifica e firma avvengono interamente nel tuo browser — il token e qualsiasi segreto inserito non vengono mai inviati a un server. Tuttavia tratta con cautela i token di sistemi in produzione, poiché chiunque veda un JWT decodificato può leggerne le claim.
Perché il mio token risulta scaduto anche se funziona ancora nella mia app?
L'indicatore Scaduto/Valido qui confronta solo la claim exp con l'orario attuale — non verifica tolleranze di sfasamento dell'orologio o altre regole di validazione che il tuo server o la tua libreria potrebbero applicare.
Cos'è l'attacco di sostituzione dell'algoritmo con "none"?
Se il backend si fida ingenuamente del campo alg nell'header del token, un attaccante può sostituirlo con none, eliminare la firma — e un token con dati arbitrari supererà la verifica. Le librerie affidabili richiedono di specificare esplicitamente l'algoritmo atteso al momento della verifica.
Perché non conviene salvare un JWT in localStorage per sessioni sensibili?
localStorage è accessibile a qualsiasi codice JavaScript nella pagina, quindi è vulnerabile a XSS — uno script malevolo può rubare il token. Per i token di sessione è più sicuro usare cookie httpOnly, inaccessibili a JavaScript.