Espacio de trabajo
Codificador y decodificador JWT
Entrada
Decodifica JWT, consulta sus claims, verifica firmas HMAC y genera tokens firmados de prueba con HS256, HS384 o HS512.
Entrada
Resultado
Cargando herramienta
Herramientas para desarrolladores
Codificador y decodificador JWT
Un JSON Web Token (JWT) es un formato compacto para transferir información entre sistemas, habitual en aplicaciones web y API. Un JWT contiene una cabecera, un payload y una firma separados por puntos.
Usa este codificador y decodificador JWT para inspeccionar el contenido de un token, verificar una firma HMAC con su secreto o generar un token firmado para pruebas. Admite HS256, HS384 y HS512. El procesamiento se realiza en tu navegador.
Decodificar no demuestra que un token sea auténtico. Considera los datos decodificados como no confiables hasta verificar la firma con el secreto correcto.
Guía rápida
Cómo usar
- Decodificar: pega un JWT compacto para inspeccionar su cabecera, payload, firma, claims reconocidos y fechas legibles de los claims temporales admitidos.
- Verificar: proporciona un token HMAC y su secreto. La herramienta comprueba la firma con el algoritmo declarado en el token.
- Codificar: edita la cabecera y el payload JSON, elige HS256, HS384 o HS512, introduce un secreto de prueba y genera un token firmado.
- Usa el token de ejemplo para explorar la herramienta, copia los resultados que necesites o borra los campos al terminar.
Detalles
Sobre esta herramienta
Codificador y decodificador JWT
Un JSON Web Token (JWT) es un formato compacto que se utiliza para transmitir claims entre sistemas. Un token compacto tiene tres partes: cabecera.payload.firma. Esta herramienta puede decodificar un token, verificar firmas HMAC y generar tokens firmados para desarrollo y pruebas. El procesamiento se realiza en tu navegador y la herramienta no guarda los campos que introduces.
Las tres partes de un JWT
La cabecera contiene metadatos del token, normalmente su tipo y algoritmo de firma. El payload contiene claims: información sobre el token o su sujeto. La firma permite comprobar que la cabecera y el payload codificados se firmaron con el secreto esperado y no se modificaron. La cabecera y el payload están codificados en Base64URL, no cifrados. Cualquiera que tenga el token generalmente puede decodificarlos, así que no incluyas contraseñas, secretos de API, claves privadas, credenciales ni información personal sensible en un payload JWT normal.
Decodificar y verificar
Decodificar permite saber qué información contiene un token. Verificar comprueba si la firma HMAC coincide con los datos del token y el secreto proporcionado. Un token puede decodificarse aunque la firma sea inválida, se desconozca el secreto, se hayan alterado los datos o haya caducado. Que sea legible no significa que sea confiable. Incluso una firma válida no decide si una aplicación debe autorizar a un usuario ni aceptar un emisor, audiencia, rol o claim concreto.
Claims JWT y fechas
Entre los claims registrados habituales están iss (emisor), sub (sujeto), aud (audiencia prevista), exp (caducidad), nbf (no válido antes de), iat (emitido en) y jti (identificador del token). Los claims exp, nbf e iat suelen contener marcas de tiempo Unix en segundos. El decodificador presenta las fechas numéricas admitidas en un formato legible. La aplicación que consume el token sigue siendo responsable de interpretarlas y aplicarlas.
Verificar firmas HMAC
El verificador admite HS256, HS384 y HS512. Estos algoritmos usan HMAC con SHA-256, SHA-384 y SHA-512, respectivamente, junto con un secreto compartido. La herramienta usa el algoritmo declarado en la cabecera del token y compara la firma calculada con la firma del JWT. Un resultado válido significa que la firma coincide con el secreto y los datos proporcionados. No confirma permisos ni valida todos los claims. No admite verificación RSA o ECDSA con claves públicas o privadas, como RS256 o ES256.
Generar un JWT firmado
En el modo Codificar, edita la cabecera y el payload JSON, elige HS256, HS384 o HS512 e introduce un secreto para crear un token compacto firmado. Usa tokens y secretos de prueba para desarrollo. Generar un JWT firmado no hace que sus claims sean adecuados ni seguros para producción.
Uso cuidadoso de JWT
Decodificar no es verificar, y verificar no es autorizar. Usa secretos de prueba o desarrollo al experimentar en el navegador y evita introducir credenciales de producción. Los payloads JWT normalmente están codificados, no cifrados, así que su contenido puede leerlo quien obtenga el token. La aplicación debe validar los claims y permisos por separado antes de conceder acceso.
Decodifica la cabecera y el payload JWT
Pega un JWT compacto para inspeccionar su cabecera, payload, firma, claims registrados y fechas legibles de los claims numéricos admitidos.
Verifica firmas HMAC de JWT
Comprueba una firma HMAC con HS256, HS384 o HS512 y el secreto utilizado para firmar el token. La verificación comprueba la firma, no los permisos de la aplicación.
Genera JWT firmados
Edita la cabecera y el payload JSON, elige un algoritmo HMAC, proporciona un secreto y crea un token firmado para pruebas.
Comprende los claims JWT de forma segura
Inspecciona claims como iss, sub, aud, exp, nbf, iat y jti. Recuerda que decodificar no verifica la autenticidad y que los payloads JWT no están cifrados.
Entradas prácticas
Ejemplos del codificador y decodificador JWT
Decodificar un JWT compacto
Pega un JWT compacto en el modo Decodificar.
Inspecciona la cabecera, el payload, la firma y los claims reconocidos.
Verificar una firma HMAC
JWT y el secreto HMAC correspondiente.
Comprueba si la firma coincide para HS256, HS384 o HS512.
Generar un token firmado
Cabecera JSON, payload JSON, algoritmo y secreto de prueba.
Un JWT compacto firmado para desarrollo o pruebas.
Leer un claim de fecha
Un token con un claim exp, nbf o iat numérico.
El decodificador muestra la marca de tiempo admitida como fecha legible.
Ayuda
Preguntas frecuentes
¿Qué es un JWT?
JWT significa JSON Web Token. Es un formato compacto con cabecera, payload y firma, usado habitualmente para transmitir claims entre sistemas.
¿Cuáles son las tres partes de un JWT?
Un JWT compacto consta de cabecera, payload y firma separados por puntos: cabecera.payload.firma.
¿Puedo decodificar un JWT sin secreto?
Sí. La cabecera y el payload de un JWT estándar están codificados en Base64URL y se pueden decodificar sin el secreto. Decodificar no verifica el token.
¿Decodificar un JWT verifica su firma?
No. Decodificar hace legible el contenido codificado. Verificar la firma es una operación independiente que usa el secreto HMAC adecuado.
¿Qué algoritmos JWT admite la herramienta?
Las funciones de verificación y codificación admiten los algoritmos HMAC HS256, HS384 y HS512.
¿La herramienta admite RS256 o ES256?
No. Admite firmas HMAC HS256, HS384 y HS512, no verificación RSA o ECDSA con claves públicas o privadas.
¿Qué significa el claim exp?
El claim exp representa la fecha de caducidad del JWT y suele utilizar una marca de tiempo Unix en segundos. La aplicación consumidora debe aplicarlo.
¿Puedo generar un JWT firmado?
Sí. En el modo Codificar puedes editar la cabecera y el payload, elegir HS256, HS384 o HS512, introducir un secreto y generar un token firmado.
¿Los payloads JWT están cifrados?
No. Las cabeceras y payloads JWT estándar están codificados, no cifrados. No guardes contraseñas, secretos ni información sensible en un payload normal.
¿Una firma JWT válida demuestra que el usuario está autorizado?
No. La verificación comprueba la firma HMAC con el secreto proporcionado. La aplicación debe decidir por separado si los claims y permisos son aceptables.
¿Se guardan los campos de mi token?
La herramienta procesa JWT en tu navegador y no guarda los campos introducidos. Aun así, usa secretos de prueba y evita exponer credenciales de producción.