Codifica

JWT Encoder/Decoder

Codifica e decodifica di token JWT — header, payload, firma HMAC e campi standard.

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

Common uses

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.

Articoli: Codifica

Base64: a cosa serve la codifica e come funziona

Come Base64 trasforma dati binari in testo ASCII e quando serve davvero.

Base32: come si differenzia da Base64 e quando è più comodo

L'alfabeto di Base32, insensibile a maiuscole/minuscole, e i casi in cui è più comodo di Base64.

URL Encode/Decode: il percent-encoding nei link

Come i caratteri speciali negli indirizzi e nei parametri diventano sequenze %XX.

HTML Entities: come mostrare caratteri speciali in sicurezza

Perché i caratteri < > & vanno escapati e come questo evita di rompere il markup.

Unicode Escape: cosa significano le sequenze \uXXXX

Da dove vengono sequenze come \u0041 in JSON e nelle stringhe JS, e cosa significano.

ROT13 e il cifrario di Cesare: semplice sostituzione di caratteri

Perché uno scorrimento di 13 lettere rende ROT13 auto-inverso, e perché si usa ancora oggi.

Punycode: come funzionano i domini internazionalizzati nel DNS

Come un dominio con caratteri non latini diventa una forma ASCII con il prefisso xn--.

Il codice Morse: come il testo diventa punti e linee

Il principio di codifica delle lettere in punti e linee, e dove si usa ancora oggi il Morse.

Data URI: quando incorporare immagini direttamente nel codice

Come un Data URI incorpora il contenuto di un file direttamente in HTML o CSS, e quando conviene.

Gzip + Base64: comprimere dati per trasmetterli come testo

Perché i dati binari compressi vengono anche codificati in Base64 prima di finire in un campo di testo.

XML Entities: escapare i caratteri nei documenti XML

Le cinque entity XML obbligatorie senza le quali il documento si rompe durante il parsing.