Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

JWTデコード

JWT(JSON Web Token)を貼り付けると、JWTのヘッダーとペイロードをデコードしてJSON形式で見やすく表示するツールです。JSON Web Tokenの署名は文字列のまま表示し、検証は行いません。

ツール

0文字

仕様

本ツールの仕様は以下の通りです:

  • 対応形式: JWT(JSON Web Token)のうち、ドットで区切られた3つの部分(ヘッダー・ペイロード・署名)からなる署名付きの形式。署名が空のJWT(alg が none のもの)にも対応
  • 文字コード: UTF-8
  • 入力文字数制限: 100,000文字まで(絵文字などは2文字分として数えます)。超えた場合はデコードしません
  • 入力の前処理: 前後の空白・改行と、先頭の Bearer (大文字小文字は区別しない)を取り除いてからデコード
  • 出力形式: ヘッダーとペイロードは行番号付きのJSON(キー・文字列・数値などを色分けして表示。200KBを超える場合は色分けなし)、署名はBase64URLの文字列のまま
  • デコード:
    • JWTのヘッダーとペイロードをBase64URLとしてデコードし、UTF-8のJSONオブジェクトとして解析して、スペース2のインデントで整形
    • 末尾の = は0〜2個まで許容
    • JWTの途中に空白・改行がある場合や、形式が正しくない場合は、最初に見つかった原因を1つ表示(使用できない文字は何文字目かも表示)。入力の途中ではすぐに表示せず、入力が止まってから約0.6秒後に表示します
  • 署名: JSON Web Tokenの署名はデコードせず、入力された文字列のまま表示します。Base64URLの形式だけを確認し、署名の検証は行いません。秘密鍵や公開鍵の入力は不要ですが、JWTが改ざんされていないことは確認できません
  • 注意事項:
    • 暗号化されたJWT(JWE。ドットで区切られた5つの部分からなる形式)には対応していません
    • 数値はJavaScriptの数値として扱うため、9007199254740991 を超える大きな整数は値が丸められる場合があります
    • 数字だけのキーは、元のJSONと異なる並び順で表示される場合があります
    • 同じキーが重複している場合は、後に書かれた値のみが残ります
  • 処理方式: ブラウザ内で処理し、入力内容はサーバーに送信しません

使い方

本ツールの使い方は以下の通りです:

  1. テキストボックスにデコードしたいJWT(JSON Web Token)を入力します。先頭に Bearer が付いたままでも構いません。
  2. 下部にデコード結果が自動で表示されます。入力を変えると、結果もすぐに更新されます。
    • ヘッダーとペイロードは、整形されたJSONで表示されます。
    • 署名はBase64URLの文字列のまま表示されます。
  3. JWTの形式が正しくない場合は、入力が止まってから少し後に、エラーの原因が表示されます。
  4. 必要に応じて以下を選択することができます。
    • 「クリップボードにコピーする」ボタン
      • ヘッダーまたはペイロードをクリップボードにコピーできます。
    • 「リセットする」ボタン
      • 入力内容と結果を消去します。

※ 署名を検証しないため、デコードできてもJWT(JSON Web Token)が正しく発行されたものとは限りません。表示内容を信頼の根拠にしないでください。
※ 入力したJWTはブラウザ内で処理され、サーバーには送信されません。

関連コンテンツ