Decodificador JWT
La firma no se verifica — solo decodificación
- Pega el token completo, con sus tres partes separadas por puntos.
- La cabecera y el payload aparecen ya formateados como JSON legible.
- Si el token lleva exp e iat, las fechas de caducidad y de emisión se convierten a formato legible, y se calcula el estado caducado o válido.
Un JWT se compone de cabecera, payload y firma, unidos por puntos. Las dos primeras son JSON codificado en Base64URL, una variante de Base64 que cambia + por -, / por _, y prescinde del relleno con =.
La cabecera describe el algoritmo de firma, normalmente en el campo alg, y el tipo de token.
El payload lleva las claims: quién lo emitió (iss), para quién vale (aud), quién es el sujeto (sub), cuándo caduca (exp) y cuándo se emitió (iat), además de los campos propios de tu aplicación.
La firma es lo que garantiza que la cabecera y el payload no fueron alterados. Se genera con una clave que solo el emisor conoce.
Esta herramienta decodifica, pero no verifica la firma, y la propia interfaz lo advierte al mostrar el token.
La diferencia importa: cualquiera puede leer e incluso reescribir el payload de un JWT. Lo que impide el fraude es la verificación de la firma en el servidor, con la clave secreta o la clave pública correspondiente. Sin ese paso, un token manipulado pasa.
Verificar la firma exige la clave. Como la clave nunca debe salir de tu servidor, ninguna herramienta web que no la posea puede hacer esa comprobación, incluida esta.
Base64 es codificación, no cifrado. Cualquiera que intercepte el token lee el contenido del payload sin necesitar clave alguna.
Por eso nunca pongas una contraseña, un token de otro servicio, un número de tarjeta ni ningún dato sensible dentro de un JWT. Pon un identificador y busca el resto en el servidor.
El token que pegas aquí no sale de tu navegador: la decodificación ocurre localmente y no se envía ni se registra nada.
Preguntas frecuentes
Porque verificar exige la clave secreta del emisor, que nunca debe salir del servidor. Una herramienta web que pidiera tu clave sería un riesgo de seguridad, no una comodidad.
La decodificación ocurre en tu navegador y no se transmite nada. Aun así, trata cualquier token de producción como una credencial activa: si ya se expuso en otro sitio, revócalo.
El campo exp se compara con el reloj de tu ordenador. Si va adelantado o atrasado, el resultado difiere del que calcula el servidor. Algunos servidores también admiten una pequeña tolerancia de tiempo.
Editar es trivial, pero el token resultante será rechazado por cualquier servidor que verifique la firma. Sin la clave no hay forma de producir una firma válida.
En el JWT tradicional el contenido solo está codificado y queda legible. En JWE está cifrado de verdad, y hace falta una clave para leerlo. Si el dato debe permanecer oculto, un JWT firmado no es la herramienta adecuada.