Decodificador JWT sin enviar el token a nadie
Un JWT parece una cadena opaca, pero sus dos primeras partes son JSON codificado en Base64URL. Este decodificador JWT las separa por los puntos y las muestra con sangría, de modo que puedes leer el algoritmo, el usuario, los roles y las fechas sin escribir ningún código.
Lo que se queda en tu navegador
La decodificación se ejecuta en JavaScript en tu dispositivo. Al escribir o pegar no se envía ninguna petición, y la herramienta no guarda el token. Solo toca el portapapeles cuando pulsas un botón de copiar.
Del texto pegado a los claims
- Pega el token en el campo "Token JWT codificado". Al abrir la página ya contiene un ejemplo; "Cargar ejemplo" lo restaura y "Borrar" vacía el campo.
- A la izquierda aparece el header, normalmente con
algytyp. - A la derecha aparece el payload con claims como
sub,iatyexp. - La barra de estado sobre los dos paneles indica si el token ha expirado y da la fecha con el formato de tu idioma.
- El botón de copiar de cada panel envía el JSON formateado al portapapeles.
Tres búsquedas de errores que resuelve
- La API responde 401. ¿Caducó el access token? Pégalo y mira la barra.
- Un proveedor de identidad nuevo: comprueba qué contiene el array
roles. - Una app móvil manda el token a otro backend, y tú necesitas comparar
subyexpcon el token correcto.
El estado verde no demuestra autenticidad
La herramienta no verifica la firma. No tiene campo para una clave y el código nunca lee la tercera parte. El estado verde significa solo que el claim exp está en el futuro según el reloj de tu dispositivo. Un token falsificado con un exp correcto se vería igual. Para comprobar una firma hacen falta el secreto o la clave pública y una biblioteca JWT en tu servidor.
Bearer, JWE y otros formatos que fallan
Un Bearer inicial no se elimina y provoca un error de decodificación Base64. Los tokens cifrados (JWE, cinco partes) también fallan, porque su payload no es JSON. Header y payload deben ser JSON válido. Con dos partes ya basta.
Solo se comprueba exp. Los claims nbf e iat salen como números sin convertir (segundos desde 1970). Sin exp, la herramienta muestra "Sin fecha de fin (firma sin comprobar)".