JWT Decoder Online
Inspect JSON Web Tokens
Paste a JWT to decode its Base64URL header and payload as formatted JSON. Inspect claims, roles, and expiration without verifying the signature.
Decoding shows claims only — it is not signature verification. Tokens stay in your browser and are never uploaded.
- Segments0/3
What is this tool?
This JWT decoder reads the header and payload segments of a JSON Web Token and formats them as pretty JSON. JWTs are compact Base64URL parts separated by dots, commonly used for OAuth/OIDC access tokens, session claims, and API authorization debugging.
Decoding is inspection only. It does not fetch JWKS, validate iss/aud, enforce algorithm allow-lists, or prove who signed the token. An optional Advanced panel can check HS256/HS384/HS512 against a secret you paste locally — still not a full production verifier.
Use it when you need to see claim shape, kid, roles/scopes, and exp/iat/nbf timing without sending the token to a server.
Common use cases
- Debug why an API rejects a bearer token (expired
exp, wrongaudshape, unexpectedalg) - Inspect IdP-issued claims (
sub, roles, scopes) during OAuth/OIDC integration - Confirm
kidand header fields before wiring JWKS verification in your app
How to use
- Paste a compact JWT (
header.payload.signature). A leadingBeareris stripped automatically. Results update live. - Read segment count (
n/3),alg, and time-claim badges forexp/iat/nbf(local time, ISO, relative). - Copy header or payload JSON separately.
- Optionally open Advanced and paste an HMAC secret to verify HS* signatures only. Use a real library/JWKS flow when you need full trust decisions.
Examples
| Input / setting | Output | Notes |
|---|---|---|
| Sample button (HS256) | Header alg: HS256; payload with sub, role, iat/nbf/exp | Secret for Advanced verify: utill-sample-secret. |
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjMifQ. | Header alg: "none"; payload {"sub":"123"} | Unsigned edge case — warning shown; do not trust. |
Bearer eyJ… (any valid JWT) | Same decode as without prefix | Authorization-header paste convenience. |
Token with past exp | Payload JSON + Expired badge | Inspection still works; expired ≠ unverifiable claims. |
Practical pitfalls
- Decode ≠ verify: pretty JSON never proves integrity or authenticity.
alg=noneor algorithm confusion attacks are real — production verifiers must pin allowed algorithms and require signatures.- Unique to this page vs many dump-only decoders: optional local HS* check stays collapsed so the default path stays decode-only and safer to reason about.
- Never put live access tokens in shared URLs or screenshots with secrets.
References
이 도구는 무엇인가요?
JWT의 헤더·페이로드를 Base64URL 디코딩해 보기 좋은 JSON으로 보여 줍니다. OAuth/OIDC 액세스 토큰, 세션 클레임, API 인가 디버깅에 흔히 쓰입니다.
디코딩은 검사용입니다. JWKS 조회, iss/aud 검증, 알고리즘 화이트리스트는 하지 않습니다. 고급 패널에서 HMAC 시크릿으로 HS256/HS384/HS512만 선택 검증할 수 있으며, 이것도 완전한 운영 검증기는 아닙니다.
클레임 형태, kid, 역할/스코프, exp/iat/nbf를 서버에 보내지 않고 확인할 때 사용하세요.
자주 쓰는 경우
- API가 Bearer 토큰을 거절하는 원인 확인(만료
exp,aud형태, 예상 밖alg) - OAuth/OIDC 연동 중 IdP 클레임(
sub, 역할, 스코프) 점검 - 앱 JWKS 검증 전에 헤더
kid·alg확인
사용 방법
header.payload.signature형태의 JWT를 붙여넣습니다.Bearer접두어는 자동 제거되며 결과가 바로 갱신됩니다.- 세그먼트(
n/3),alg,exp/iat/nbf배지(로컬·ISO·상대)를 확인합니다. - 헤더·페이로드 JSON을 각각 복사합니다.
- 필요하면 고급에서 HMAC 시크릿으로 HS*만 검증합니다. 운영 신뢰 판단은 라이브러리·JWKS를 사용하세요.
예시
| 입력 / 설정 | 출력 | 메모 |
|---|---|---|
| Sample (HS256) | alg: HS256, sub/role, 시간 클레임 | 고급 검증 시크릿: utill-sample-secret |
alg=none 토큰 | 헤더 none + 경고 | 무서명 — 신뢰 금지 |
Bearer eyJ… | 접두어 제거 후 동일 디코드 | Authorization 헤더 붙여넣기 |
과거 exp | JSON + 만료 배지 | 만료여도 클레임 열람 가능 |
실무에서 흔한 실수
- 디코드 ≠ 검증. 예쁜 JSON만으로 무결성·진위를 증명할 수 없습니다.
alg=none·알고리즘 혼동 공격에 대비해 운영에서는 허용 알고리즘을 고정하세요.- 기본 경로는 디코드만 두고 HS* 검증은 접어 두어, 디코드와 검증을 혼동하기 어렵게 했습니다.
- 실제 액세스 토큰을 공유 URL에 넣지 마세요.
참고자료
このツールについて
JWT のヘッダーとペイロードを Base64URL デコードし、整形 JSON で表示します。OAuth/OIDC アクセストークンや API 認可のデバッグに使います。
デコードは確認用です。JWKS 取得や iss/aud 検証は行いません。詳細パネルで HMAC シークレットによる HS256/HS384/HS512 の任意検証のみ可能で、本番用の完全な検証器ではありません。
クレーム形状、kid、ロール/スコープ、exp/iat/nbf をサーバーへ送らず確認したいときに使います。
よくある用途
- API が Bearer を拒否する原因調査(期限切れ
exp、想定外のalg) - OAuth/OIDC 連携中の IdP クレーム確認
- アプリの JWKS 検証前にヘッダー
kidを確認
使い方
- コンパクト JWT を貼り付けます。
Bearerは自動除去され、結果は即時更新されます。 - セグメント数、
alg、時刻クレームバッジを確認します。 - ヘッダー / ペイロードをそれぞれコピーします。
- 必要なら詳細で HS* のみ検証します。信頼判断はライブラリと JWKS で行ってください。
例
| 入力 / 設定 | 出力 | メモ |
|---|---|---|
| Sample (HS256) | alg: HS256 と時間クレーム | 詳細検証シークレット: utill-sample-secret |
alg=none | 警告付きデコード | 無署名 — 信頼しない |
Bearer eyJ… | 接頭辞除去後に同じ結果 | Authorization 貼り付け用 |
過去の exp | JSON + 期限切れバッジ | 期限切れでも検査可能 |
実務での落とし穴
- デコード ≠ 検証。整形 JSON は真正性を証明しません。
alg=noneやアルゴリズム混同に備え、本番では許可アルゴリズムを固定してください。- 既定はデコードのみ、HS* 検証は折りたたみにして混同を減らしています。
- 本番アクセストークンを共有 URL に載せないでください。
参考資料
¿Qué es esta herramienta?
Decodifica la cabecera y el payload de un JWT a JSON legible. Sirve para depurar tokens OAuth/OIDC y claims de autorización en APIs.
La decodificación solo inspecciona. No descarga JWKS ni valida iss/aud. El panel Advanced puede comprobar HMAC HS256/HS384/HS512 con un secreto local; no sustituye un verificador de producción.
Úsalo para ver forma de claims, kid, roles/scopes y tiempos exp/iat/nbf sin subir el token.
Casos de uso comunes
- Depurar rechazos de Bearer (
expcaducado,alginesperado) - Revisar claims del IdP en integraciones OAuth/OIDC
- Confirmar
kiddel header antes de cablear JWKS
Cómo usar
- Pega el JWT compacto. Se elimina
Bearerautomáticamente y el resultado se actualiza al instante. - Revisa segmentos (
n/3),algy badges de tiempo. - Copia header y payload por separado.
- Opcionalmente verifica HS* en Advanced. Para confianza real usa biblioteca + JWKS.
Ejemplos
| Entrada / configuración | Salida | Notas |
|---|---|---|
| Sample (HS256) | alg: HS256 + claims de tiempo | Secreto Advanced: utill-sample-secret |
Token alg=none | Aviso + JSON | Sin firma — no confiar |
Bearer eyJ… | Mismo decode sin prefijo | Pegado desde Authorization |
exp pasado | JSON + badge Caducado | Sigue siendo inspeccionable |
Errores prácticos
- Decodificar ≠ verificar integridad.
- Fija algoritmos permitidos en producción; rechaza
alg=none. - La verificación HS* queda plegada para no mezclarla con el flujo de solo lectura.
- No pongas tokens reales en URLs compartidas.
Referencias
Qu'est-ce que cet outil ?
Décode l’en-tête et le payload d’un JWT en JSON lisible. Utile pour déboguer des jetons OAuth/OIDC et des claims d’API.
Le décodage est une inspection. Pas de JWKS, pas de validation iss/aud. Le panneau Avancé peut vérifier HMAC HS256/HS384/HS512 avec un secret local — ce n’est pas un vérificateur de production.
Servez-vous-en pour voir la forme des claims, kid, rôles/scopes et exp/iat/nbf sans envoyer le jeton.
Cas d'usage courants
- Comprendre un refus Bearer (
expdépassé,alginattendu) - Inspecter les claims IdP pendant une intégration OAuth/OIDC
- Vérifier le
kidavant de brancher JWKS
Comment utiliser
- Collez le JWT compact.
Bearerest retiré automatiquement ; le résultat se met à jour en direct. - Lisez le compteur de segments,
alget les badges temporels. - Copiez en-tête et payload séparément.
- Vérifiez HS* en Avancé si besoin. Pour la confiance réelle, utilisez bibliothèque + JWKS.
Exemples
| Entrée / réglage | Sortie | Notes |
|---|---|---|
| Sample (HS256) | alg: HS256 + claims temporels | Secret Avancé : utill-sample-secret |
Jeton alg=none | Avertissement + JSON | Non signé — ne pas faire confiance |
Bearer eyJ… | Même décodage sans préfixe | Collage depuis Authorization |
exp passé | JSON + badge Expiré | Toujours inspectable |
Pièges courants
- Décoder ≠ prouver l’authenticité.
- Épinglez les algorithmes autorisés ; refusez
alg=noneen production. - La vérif. HS* reste repliée pour éviter la confusion avec le flux lecture seule.
- N’insérez jamais de jetons live dans des URL partagées.
Références
这个工具是什么?
将 JWT 的头部与载荷 Base64URL 解码为格式化 JSON,便于调试 OAuth/OIDC 访问令牌与 API 授权声明。
解码仅供检查,不拉取 JWKS,也不校验 iss/aud。高级面板可用本地 HMAC 密钥验证 HS256/HS384/HS512,不能替代生产验签器。
在需要查看声明结构、kid、角色/范围以及 exp/iat/nbf、且不想上传令牌时使用。
常见用途
- 排查 Bearer 被拒绝的原因(过期
exp、意外alg) - OAuth/OIDC 联调时检查 IdP 声明
- 接入 JWKS 前确认头部
kid
如何使用
- 粘贴紧凑 JWT。自动去掉
Bearer,结果即时更新。 - 查看分段计数、
alg与时间声明徽章。 - 分别复制头部与载荷 JSON。
- 需要时在高级中验证 HS*。真正信任决策请用库 + JWKS。
示例
| 输入 / 设置 | 输出 | 说明 |
|---|---|---|
| Sample (HS256) | alg: HS256 + 时间声明 | 高级密钥:utill-sample-secret |
alg=none | 警告 + JSON | 无签名 — 不可信 |
Bearer eyJ… | 去前缀后相同结果 | 方便粘贴 Authorization |
过去的 exp | JSON + 已过期徽章 | 仍可检查声明 |
实践中的常见误区
- 解码 ≠ 验签。
- 生产环境应固定允许算法并拒绝
alg=none。 - HS* 验证默认折叠,避免与只读解码混淆。
- 勿把线上访问令牌放进共享 URL。
参考资料
這個工具是什麼?
將 JWT 的標頭與酬載 Base64URL 解碼為格式化 JSON,方便除錯 OAuth/OIDC 存取權杖與 API 授權宣告。
解碼僅供檢查,不拉取 JWKS,也不校驗 iss/aud。進階面板可用本機 HMAC 密鑰驗證 HS256/HS384/HS512,不能取代正式驗簽器。
在需要查看宣告結構、kid、角色/範圍以及 exp/iat/nbf、且不想上傳權杖時使用。
常見用途
- 排查 Bearer 被拒絕的原因(過期
exp、意外alg) - OAuth/OIDC 聯調時檢查 IdP 宣告
- 接入 JWKS 前確認標頭
kid
如何使用
- 貼上緊湊 JWT。自動去掉
Bearer,結果即時更新。 - 查看分段計數、
alg與時間宣告徽章。 - 分別複製標頭與酬載 JSON。
- 需要時在進階中驗證 HS*。真正信任決策請用函式庫 + JWKS。
範例
| 輸入 / 設定 | 輸出 | 說明 |
|---|---|---|
| Sample (HS256) | alg: HS256 + 時間宣告 | 進階密鑰:utill-sample-secret |
alg=none | 警告 + JSON | 無簽章 — 不可信 |
Bearer eyJ… | 去前綴後相同結果 | 方便貼上 Authorization |
過去的 exp | JSON + 已過期徽章 | 仍可檢查宣告 |
實務上常見陷阱
- 解碼 ≠ 驗簽。
- 正式環境應固定允許演算法並拒絕
alg=none。 - HS* 驗證預設摺疊,避免與唯讀解碼混淆。
- 勿把線上存取權杖放進共享 URL。
參考資料
Last reviewed: 2026-07-26
Frequently asked questions
- Does this verify the JWT signature?
- No by default. Decoding only Base64URL-parses the header and payload. Optional Advanced HS256/HS384/HS512 verify checks an HMAC secret you paste locally — it still does not validate iss, aud, or JWKS.
- Why is alg=none dangerous?
- A token with `"alg":"none"` has no cryptographic signature. Anyone can forge claims. Reject unsigned JWTs in production verifiers.
- Can I inspect expired tokens?
- Yes. The tool shows `exp`, `iat`, and `nbf` with local time, ISO, and relative badges even when expired.
- Should I paste production access tokens?
- Decoding runs locally and tokens are not uploaded, but avoid pasting live secrets into any tool you do not control, and never put tokens in shared URLs.