QuickATools

開発者ツール · Free browser tool

JWT デコーダー

クライアントサイドで JSON Web Token(JWT)を即座にデコード。内蔵タイムスタンプヒューマナイザーでヘッダー・ペイロード・シグネチャを安全に確認します。

Encoded JWT

Paste a token — optional Bearer prefix is stripped.

DecodedSignature not verified

Timestamp humanizer

  • exp1893456000

    2030-01-01 00:00:00 · in 1236 days

    Active
  • iat1723000000

    2024-08-07 03:06:40 · 736 days ago

Header

JSON
{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

JSON
{
  "sub": "1234567890",
  "name": "홍길동",
  "email": "user@example.com",
  "iat": 1723000000,
  "exp": 1893456000
}

Signature

Raw
signature-placeholder

Decoding does not prove authenticity. Verify signatures in your backend with the issuer's secret or public key.

Frequently Asked Questions

JWT の3つの部分は何で、それぞれ何をしますか?

JWT はドットで区切られた Base64URL エンコードのセグメント3つです: Header.Payload.Signature。Header はトークン種別と署名アルゴリズム(例: HS256、RS256)を説明します。Payload はクレーム——ユーザー id・ロール・有効期限(exp)・発行時刻(iat)・API が入れる任意フィールド——を運びます。Signature は先頭2部分に対する暗号学的封印で、このデコーダーは生のシグネチャ文字列を見せますが検証はしません。検証にはシークレットまたは公開鍵が必要だからです。

JWT をデコードすることと検証することの違いは?

デコードはヘッダーとペイロードを Base64URL デコードしてクレームを読むだけ——JWT は暗号化ではなく署名されているため、鍵なしで誰でもできます。検証は発行者のシークレットまたは公開鍵でシグネチャが一致するか確認し、トークンが改ざんされておらず信頼できる側から来たことを証明します。このツールはデバッグ用デコーダーであり、バックエンドでシグネチャを別途検証しない限り、トークンが本物だと主張しません。

JWT 内の exp・iat・nbf のような Unix タイムスタンプはどう読めばよいですか?

それらのクレームは 1970-01-01 UTC からの秒単位の Unix 時刻として保存されます。このツールはよくあるタイムスタンプキー(exp、iat、nbf、auth_time)を検出し、各値の横に対応するローカル日時を表示します。exp についてはブラウザの現在時計に基づき Expired または Active のバッジも付け——時計ずれや古いステージングトークンを一目で捉えるのに便利です。

オンラインデバッガに貼らずローカルで JWT をデコードする理由は?

本番・ステージングの JWT はペイロードにユーザー id・メール・ロールなどの PII を含むことが多く、Authorization ヘッダーのシークレットと並んで見えるトークンを貼る人もいます。サーバーサイドデバッガはその文字列全体を受け取ります。このツールは何もアップロードしません。Base64URL デコード・JSON パース・タイムスタンプ整形はすべてブラウザで走り、機密トークンは端末に残ります。

JWT はエンコードであって暗号化ではない——ローカルでデコードしよう

JSON Web Token は不透明に見えますが、ヘッダーとペイロードは Base64URL エンコードされた JSON にすぎません。文字列を持つ誰でもシークレットキーなしでクレームを読めます。それは設計どおり——シグネチャは完全性を証明し、機密性は保証しない——であり、本番トークンを無作為なオンラインデバッガに貼るのが危険な理由でもあります。ユーザー id・メール・ロールなどの PII がペイロードに平文でいることがよくあります。

このデコーダーはトークンをどこにも送りません。セグメント分割、(非ラテンクレーム向けの完全 UTF-8 対応)Base64URL デコード、JSON プリティプリント、タイムスタンプの人間可読化はすべてブラウザで走ります。認証フローをデバッグするときステージング・本番 JWT を検査しつつ、そのトークンや Authorization ヘッダー横のシークレットを第三者サーバーに漏らさないでください。

このツールのハードリミットを覚えておいてください。デコードであり検証ではありません。シグネチャ検査を飛ばせば、もっともらしいペイロードでも偽造され得ます。常にバックエンドで発行者のシークレットまたは公開鍵で JWT を検証してください。ここでの exp・iat・nbf ヒューマナイザーは、デバッグ中に有効期限状態を一目で読む助けにすぎません。

関連する開発者ユーティリティ: 入れ子のクレーム JSON は JSON フォーマッター・バリデーターで整え、他の Base64 ペイロードは Base64 エンコード/デコードで確認し、フィクスチャ id は UUID/GUID 生成で作り、クレーム解析パターンは正規表現テスターで検証してください。