メインコンテンツへスキップ

無料JWT デコーダ

JSON Web トークンをデコードして検査します。ヘッダー、ペイロード、有効期限、および標準クレームを表示します。すべてがブラウザ内でローカルに実行されます。トークンがデバイスから離れることはありません。

読み込み後はオフラインでも動作

🔒 トークンはすべてブラウザ内でデコードされます。サーバーには何も送信されません。

主な用途

  • JWTデコーダーで認証の問題をデバッグアプリケーションからJWTを検査して、ログイン失敗、権限の問題、およびトークン有効期限の問題をデバッグします。
  • エンドポイントをテストする際にAPIトークンを検査APIが返したJWTをデコードして、正しいクレーム、スコープ、および権限が発行されていることを確認します。
  • セキュリティ監査JWTトークンセキュリティ監査の一部としてJWTを確認し、弱い署名アルゴリズム、過度なトークン有効期限、またはペイロード内の機密データをチェックします。
  • OAuthおよびOpenID Connectトークンを検査Google、Auth0、Okta、Microsoft、およびその他のOAuthプロバイダーからのアクセストークン、IDトークン、更新トークンをデコードします。
  • JWTトークンの仕組みを学ぶ構造を理解するために例JWTをデコードします:ヘッダー、ペイロード、および署名。実世界の請求の例を参照してください。

使い方

デコーダーは、ブラウザ内で完全に動作する手書きの依存関係なしパーサーです:トークンをドットで分割し、各Base64URLセグメントを文字列置換で通常のBase64に変換して4の倍数にパディングし、その後ブラウザネイティブのatob()とJSON.parseを呼び出してヘッダーとペイロードのオブジェクトを復元します。任意の署名検証にはWeb Crypto API(crypto.subtle.verify)を使用します — ライブラリもサーバーも不要です。

  1. 1
    Base64URLのデコード
    ツールはJWTを2つのピリオド区切り文字で分割し、3つのセグメントを得ます。各セグメントはBase64URL — +と/の代わりに-と_を使い、パディングを省略した形式です。コードはそれらの文字を元に戻し、=記号でパディングしてから、ブラウザ内蔵のatob()を呼び出してバイトをデコードします。
  2. 2
    JSON解析とクレームの抽出
    デコードされたバイトはJSON.parseを通してヘッダーとペイロードのオブジェクトを生成します。登録済みクレームexp、iat、nbfはUnixタイムスタンプとして抽出されDateオブジェクトに変換されます。有効期限のステータスはsetIntervalを介して20秒ごとに再チェックされるため、タブが開いている間にトークンが期限切れになると自動的に有効から期限切れに切り替わります。相対的なタイムスタンプ(「3日後」「2時間前」)は、あなたのブラウザの地域設定を使ってIntl.RelativeTimeFormatで整形されます。
  3. 3
    署名の表示と任意の検証
    生のBase64URL署名文字列がヘッダーとペイロードと並んで表示されます。キーを提供すると、ツールはcrypto.subtle.importKeyとcrypto.subtle.verifyを呼び出してローカルで署名を検証します。HMAC共有シークレット(HS256/384/512)、PEM形式のRSA公開鍵(RS256/384/512)、ECDSA公開鍵またはJWK/JWKSオブジェクト(ES256/384/512)に対応しています — ヘッダー内のalgフィールドによって決まります。
  4. 4
    ネットワークリクエストなし
    デコード、タイムスタンプの計算、暗号検証というすべてのステップはブラウザのJavaScriptエンジン内で動作します。トークンと入力した鍵情報は端末の外に出ることはありません。

JWTはしばしばセッション認証情報、ユーザーID、認可スコープを運びます。このツールはatob()とWeb Crypto APIを使ってブラウザ内で完全にJWTをデコードし、任意で検証します。そのためトークンも提供した鍵もどこにも送信されません。

関連ツール

よくある質問