Decodificador de JWT
Pega un JWT para decodificar su cabecera y payload, ver cuándo expira, y comprobar los claims estándar. La decodificación ocurre por completo en tu navegador, así que los tokens de acceso de producción nunca salen de tu máquina.
- Los archivos nunca salen de tu dispositivo
- Gratis, sin registro
- Sin marcas de agua
- Funciona sin conexión una vez cargado
Cómo decodificador de jwt
- 1
Pega tu token
Pega el JWT completo, incluyendo ambos puntos. Se decodifica mientras escribes.
- 2
Lee los claims
La cabecera y el payload se formatean, con la expiración y fecha de emisión mostradas como fechas legibles.
- 3
Copia lo que necesites
Copia el payload decodificado como JSON para usarlo en otro lugar.
Lo que realmente son las tres partes de un JWT
Un JSON Web Token es tres segmentos codificados en Base64URL unidos por puntos: una cabecera que describe el algoritmo de firma y el tipo de token, un payload que contiene los claims reales — a quién identifica el token, cuándo expira, qué permisos otorga — y una firma calculada sobre los dos primeros segmentos usando un secreto o clave privada. Decodificar, que es lo que hace esta herramienta, significa decodificar en Base64URL los dos primeros segmentos de vuelta a JSON legible; no dice nada sobre el tercer segmento más allá de exponer su valor codificado crudo, porque verificar esa firma requiere el secreto de firma real, que una herramienta basada en navegador nunca debería pedirte que pegues.
Esta distinción — decodificar frente a verificar — es lo único más importante que entender sobre una herramienta de depuración de JWT. Decodificar te dice lo que *afirma* un token; verificar te dice si esas afirmaciones se pueden *confiar*, confirmando que la firma fue producida por el emisor esperado. Un token puede decodificarse perfectamente y mostrar un payload que afirma acceso de administrador siendo completamente falsificado, si nada comprueba nunca la firma contra la clave de firma real.
Por qué un JWT no es un lugar seguro para datos sensibles
La cabecera y el payload están codificados, no cifrados — Base64URL es una transformación reversible sin ningún secreto involucrado, así que cualquiera que obtenga un token, ya sea interceptando tráfico de red, leyendo el almacenamiento del navegador, o recibiéndolo directamente, puede decodificar el payload y leer cada claim dentro de él sin necesitar ninguna clave en absoluto. Esta es precisamente la razón por la que el consejo estándar es mantener los payloads de JWT limitados a identificadores y claims no sensibles — un ID de usuario, un rol, un tiempo de expiración — y nunca colocar una contraseña, un número de tarjeta de crédito, u otro dato confidencial directamente dentro del token, porque el formato del token no proporciona ninguna confidencialidad por sí solo.
Leer exp, iat y nbf sin hacer tú mismo la aritmética
Los claims de timestamp estándar se almacenan como tiempo Unix — un entero simple que cuenta segundos desde el 1 de enero de 1970 — que es eficiente para que las máquinas comparen pero ilegible de un vistazo para una persona que depura un token a simple vista. Convertir `1735689600` en "1 de enero de 2025, 00:00:00 UTC" a mano es exactamente el tipo de aritmética pequeña y propensa a errores que es fácil equivocar bajo presión de tiempo, particularmente entre zonas horarias. Renderizar los tres claims como fechas locales reales, y declarar directamente si el token está actualmente expirado, es válido, o aún no está activo, convierte una sesión de depuración que de otro modo implicaría un cálculo secundario en una respuesta inmediata y legible.
Preguntas frecuentes
¿Es seguro pegar un token de producción aquí?
Más seguro que cualquier decodificador basado en servidor: el token se divide y decodifica en Base64 en tu navegador, sin ninguna solicitud de red involucrada. Puedes verificarlo desconectándote de internet — la herramienta sigue funcionando. Dicho esto, trata cualquier token que pegues en cualquier sitio como uno que deberías rotar.
¿Esto verifica la firma?
No, y deliberadamente. Verificar requiere el secreto de firma o la clave pública, y una herramienta de navegador que te pida pegar tu secreto de firma es un mal hábito para fomentar. La verificación pertenece a tu backend, no a una página web.
¿Un JWT está cifrado?
No. La cabecera y el payload están codificados en Base64URL, que es codificación, no cifrado — cualquiera que tenga el token puede leer cada claim. Nunca pongas contraseñas, números de tarjeta o datos personales en un payload de JWT.
¿Qué significan exp, iat y nbf?
Son timestamps Unix en segundos. `exp` es cuándo expira el token, `iat` cuándo se emitió, y `nbf` el momento más temprano en que puede aceptarse. Esta herramienta renderiza los tres como fechas locales y te dice si el token es actualmente válido.
¿Por qué falla al decodificar mi token?
Un JWT debe tener exactamente tres partes separadas por puntos. Las causas habituales son una copia truncada, un prefijo "Bearer " dejado en su sitio, o una comilla envolvente de una respuesta JSON.
También podrías necesitar
Codificador y decodificador Base64
Codifica y decodifica Base64 y Base64URL
Formateador de JSON
Formatea, valida y minifica JSON al instante
Generador de hash
MD5, SHA-1, SHA-256, SHA-384 y SHA-512
Formateador de CSS
Embellece o minifica hojas de estilo
Minificador de CSS
Reduce hojas de estilo con un minificador que realmente entiende CSS
Formateador de HTML
Embellece e indenta HTML correctamente
Formateador de JavaScript
Formatea JS y TypeScript con un analizador real
Minificador de JS
Reduce JavaScript con una minificación real, no con expresiones regulares