# Decodificador de JWT

URL: https://shahid09.is-a.dev/es/tools/jwt-decoder/
Author: Muhammad Shahid (https://shahid09.is-a.dev/)
Herramienta gratis · funciona en tu navegador

Pega un JSON Web Token para leer su header y su payload, y ver cuándo se emitió y cuándo caduca.

**Respuesta rápida:** Un JWT tiene tres partes separadas por puntos: un header, un payload y una firma. Las dos primeras son JSON codificado en Base64URL, así que cualquiera puede decodificarlas y leerlas; solo la firma demuestra que el token es auténtico. Esta herramienta decodifica el header y el payload y convierte exp, iat y nbf en fechas legibles. No verifica la firma.

## Cómo usarla

1. **Pega el token.** Copia el JWT de tu app, de un header Authorization o de una cookie y pégalo en el cuadro.
2. **Lee las partes.** El header muestra el algoritmo; el payload muestra los claims, como el id de usuario y los roles.
3. **Revisa las fechas.** La herramienta muestra cuándo se emitió el token, cuándo caduca y si ya ha caducado.

## Preguntas frecuentes

### ¿Es seguro pegar aquí mi JWT?

Sí. La decodificación se hace por completo en tu navegador y no se envía nada a un servidor. Aun así, trata los tokens de producción como contraseñas y no los compartas.

### ¿Esta herramienta verifica la firma del JWT?

No. Verificar una firma requiere el secreto o la clave pública, que deben estar en tu servidor. Decodificar solo lee el header y el payload.

### ¿Por qué cualquiera puede leer el payload de mi JWT?

El payload solo está codificado, no cifrado. Nunca pongas contraseñas ni secretos en un JWT.

### ¿Qué significan exp, iat y nbf?

exp es cuándo caduca el token, iat cuándo se emitió y nbf el momento antes del cual no es válido. Todos son timestamps Unix en segundos.

### ¿Por qué los usuarios se desconectan al azar con JWT?

Normalmente por refrescos simultáneos entre peticiones o pestañas, diferencias de reloj, la configuración de cookies o secretos distintos entre servidores.

### ¿Qué diferencia hay entre JWS y JWE?

Un JWS está firmado pero se puede leer, y así son la mayoría de los JWT. Un JWE está cifrado, por lo que su payload no se puede leer sin la clave. Esta herramienta solo decodifica tokens firmados.

### ¿Qué es alg en el header de un JWT?

El algoritmo de firma, como HS256 (un secreto compartido) o RS256 y ES256 (un par de claves privada y pública). Los servidores solo deben aceptar los algoritmos que esperan.

### ¿Cuánto tiempo debe ser válido un JWT?

Los access tokens suelen durar poco, de minutos a una hora, con un refresh token de mayor duración para obtener otros nuevos. Los tokens cortos limitan el daño si uno se filtra.

### ¿Dónde guardar un JWT en el navegador?

Muchas apps guardan el refresh token en una cookie httpOnly y Secure y el access token de corta duración en memoria, lo que limita lo que puede leer un script malicioso.

### ¿Puedo editar el payload y reutilizar el token?

No. Cambiar cualquier parte invalida la firma, y un servidor bien configurado rechazará el token.

## Relacionado

- [Por qué los usuarios se desconectan al azar y cómo arreglar los errores de sesión con JWT](https://shahid09.is-a.dev/engineering/jwt-random-logouts-fix/)
- [Codificador y decodificador Base64](https://shahid09.is-a.dev/es/tools/base64-encoder-decoder/)
- [Conversor de timestamp Unix](https://shahid09.is-a.dev/es/tools/unix-timestamp-converter/)
