Il token non lascia il tuo browser. Non finisce nell’indirizzo, non viene salvato e non viene inviato da nessuna parte — questo sito è fatto di file statici e non ha un server a cui mandarlo. Ricaricando la pagina sparisce.

Incolla un token per cominciare.

Le date di un JWT sono in SECONDI dal 1970, non in millisecondi: è scritto in RFC 7519 e lo sbaglia chiunque arrivi da Date.now(). Moltiplicare per mille è la differenza fra quest’anno e il 1970.

Le parti sono base64url — con il trattino e il trattino basso al posto di più e barra, e senza riempimento — e i byte si leggono come UTF-8. Un decodificatore che salta il secondo passaggio mostra i nomi accentati sbagliati senza dare nessun errore.

Come funziona

  1. Incolla il token. Non lascia il tuo browser — non finisce nell'indirizzo, non viene salvato, non viene inviato.
  2. Header e payload si aprono formattati: i campi noti hanno la loro glossa accanto.
  3. Le date escono nel tuo fuso e in UTC, con lo stato: in corso, scaduto, non ancora in vigore.

Perché serve

Perché nove volte su dieci la domanda è «questo token è scaduto?», e per rispondere servono tre passaggi che nessuno ha voglia di fare a mano: separare le tre parti, decodificare base64url, e capire che 1721048400 è una data e in che anno cade.

E perché l’alternativa — incollare il token nel primo decodificatore che esce da una ricerca — vuol dire mandare una credenziale a un server che non conosci.

Sulla firma, che è la cosa più importante di questa pagina

La firma non viene verificata. Non è una funzione mancante da aggiungere più avanti: verificarla vuol dire avere la chiave, e una pagina che ti chiede la tua chiave di firma è una pagina da chiudere. Non esiste un modo onesto per un decodificatore nel browser di dirti che un token è autentico.

Ne segue una scelta di parole che vale la pena notare: questo strumento non dice mai «valido». Dice in corso, scaduto, non ancora in vigore — che sono affermazioni sulle date, cioè su tutto quello che si sa. Un token può essere perfettamente in corso e completamente falso.

Per la stessa ragione non c’è il verde. Su questo sito il verde significa «giusto» — la corda intonata, il modulo spedito — e dipingere di verde un token di cui nessuno ha controllato la firma sarebbe la stessa bugia detta col colore invece che con la parola.

Sulle date

Sono in secondi dal 1970, non in millisecondi. Sta scritto in RFC 7519, e lo sbaglia chiunque arrivi da Date.now(): moltiplicare o non moltiplicare per mille è la differenza fra quest’anno e il 1970. Qui escono due volte, nel tuo fuso e in UTC, perché un token emesso da un server in un altro continente si legge in UTC e si discute nel proprio fuso.

Un campo temporale scritto come stringa viene rifiutato invece che convertito. Capita — non è conforme, ma capita — e convertirlo darebbe una data plausibile senza dire che il token è fuori specifica.

Su base64url, che non è base64

Usa il trattino e il trattino basso al posto del più e della barra, e non ha riempimento. Un decodificatore che si aspetta il riempimento fallisce su quasi tutti i token veri.

E poi i byte vanno letti come UTF-8. È il passaggio che si salta più spesso, e quando lo si salta non succede niente di visibile: un nome con una lettera accentata esce sbagliato, e sembra un problema di chi ha emesso il token.

Il campo qui accetta anche il base64 classico e il riempimento di troppo. Un token così è formalmente malformato, ma questo è un visore: chi lo incolla vuole leggere cosa c’è dentro, non ricevere una lezione.

Sui tuoi dati

Il token non lascia il tuo browser. Non finisce nell’indirizzo — un JWT in una query string finisce nella cronologia, nei log del proxy e nell’intestazione Referer — non viene salvato e non viene inviato da nessuna parte. Questo sito è fatto di file statici e non ha un server a cui mandarlo, anche volendo. Ricaricando la pagina sparisce.

Da qui si passa anche di qua

Convertitore px, rem, em

Le tre unità vive insieme, con la base configurabile e la scala tipografica del valore su rapporti esatti.

Sviluppo

Calcolatore di subnet

Rete, broadcast, range e host utilizzabili di un blocco IPv4, con le due eccezioni che quasi nessun calcolatore dice.

Sviluppo

Generatore di UUID

Identificatori UUID versione 4, uno alla volta o a blocchi, in minuscolo, maiuscolo, senza trattini o fra graffe.

Sviluppo

Tutti gli strumenti