Decodificador de JWT ES256 online
Pega un token y mira cómo se decodifica en directo: el encabezado, la carga útil y la firma llevan el mismo color en el texto en bruto y en su forma decodificada. Después, verifica una firma ES256/ES384/ES512 con la clave pública del emisor, con explicaciones claras cuando algo no cuadra.
100 % local: todo se ejecuta en tu navegador y nada se envía a ningún servidor
Decodificado
Encabezado
algoritmo y tipo de tokenEl primer segmento —todo lo que hay antes del primer punto— se decodifica como el encabezado JOSE: algoritmo, tipo de token e ID de clave.
Carga útil
claimsEl segundo segmento se decodifica como los claims: quién emitió el token, para quién y durante cuánto tiempo.
Firma
bytes en brutoEl tercer segmento —todo lo que hay después del segundo punto— es la firma en bruto sobre header.payload. Verifícala abajo.
Verificar la firma
Firma no verificada
La decodificación no necesita clave: se hace mientras escribes. Cuando el token esté decodificado arriba, pega aquí la clave pública del emisor para comprobar su firma.
How it works
Everything on this page runs locally in your browser — the token and key are never sent anywhere. The token is split on dots, and the header and payload are base64url-decoded and parsed as JSON as you type; the colors in the editor are purely presentational and mirror the decoded blocks on the right. For ES256/ES384/ES512 the tool rebuilds the exact signing input — the ASCII string header.payload — hashes it with SHA-256/SHA-384/SHA-512, and checks the raw r‖s signature against your public key on P-256/P-384/P-521 using the audited @noble/curves library. Time claims are compared against your machine's clock, so a token that looks expired here may still be accepted by a server with clock skew tolerance. Remember that a valid signature only authenticates the issuer — checking exp, iss and aud is still your job.