/ セキュリティ / jwt
メンバー
テーマ: システムコントラスト: 標準

JWT デコーダー・検証ツール

あなたのツールにピン留め

JSON Web Token をデコードし、有効期限やクレームを確認し、シークレットや公開鍵で署名を検証できます。

すべてブラウザ内で実行されます。入力した内容が当社のサーバーに送信されることはありません。

ペイロード
トークン · 0行
貼り付けファイルを開くCtrl Oクリア

ペイロード

表示
ペイロード · 0行
ダウンロードコピーCtrl Shift C

HS256/384/512 にはシークレット、それ以外には PEM(SPKI または証明書)形式の公開鍵、または JWK か JWKS(トークンの kid でキーを選びます)。キーが共有・保存されることはありません。

ローカルテスト済み · v0.15.0 · 37 件のテストケース

履歴 · 0

処理した入力は、このページを開いている間ここに表示されます。ページを再読み込みすると消去されます。

コード例

自分のプロジェクトにコピーして使えます。どの例も言語の標準ライブラリだけを使うので、インストールするものはありません。

例

最大 3 言語に星を付けると、すべてのツールページで先頭に表示されます。

JavaScript をお気に入りに追加
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'

const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')

console.log(JSON.stringify(JSON.parse(json), null, 2))

概要

JSON Web Token をデコードしてヘッダーとペイロードを読み取り、期限切れかどうかを確認し、シークレットまたは公開鍵で署名を検証します。トークンはブラウザ内でデコードされ、このページには広告が表示されず、トークンと鍵が共有や保存されることはありません。

使い方

  1. トークンを貼り付けます。先頭の Bearer と改行は無視されます。
  2. ペイロードを、整形またはコンパクトな JSON として読みます。その下には、アルゴリズム、状態、そして exp、nbf、iat の時刻と、それぞれが現在からどれだけ離れているかが表示されます。
  3. 署名を検証するには、鍵を入力します。HS256、HS384、HS512 にはシークレット、RS、PS、ES、EdDSA には公開鍵(PEM または JWK)を使います。
  4. ヘッダーとペイロードを JSON とクレームで切り替えます。クレームでは各クレームの意味が一覧になり、時刻のクレームは日付で表示されます。
  5. エンコードタブを開くと、ヘッダーとペイロードを書き、シークレットまたは秘密鍵(PKCS#8 PEM または JWK)で署名できます。このタブの内容は保存・共有・履歴への追加が行われません。

例

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

このトークンのペイロードです。

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

署名は、シークレット your-256-bit-secret で検証できます。

知っておくと便利なこと

  • デコードは検証ではありません。ペイロードはエンコードされているだけで暗号化されておらず、誰でも読めます。
  • クレームを信頼する前に、サーバー側で署名を検証してください。
  • アルゴリズムが none のトークンは署名がないため、誰でも作れます。
  • 有効なトークンはパスワードと同じように扱ってください。ここに貼り付けるなら、期限切れのトークンやテスト用のトークンをおすすめします。
  • 貼り付けた JWKS からはトークンの kid で鍵を探し、単独の JWK はそのまま使います。このページがトークンの発行者からキーセットを取得することはありません。
  • ハッシュより短い HMAC シークレット(32、48、64 バイト)は推測される恐れがあるため、警告が表示されます。シークレットは UTF-8 テキストまたは Base64URL として読めます。

JWT とは?

JSON Web Token は、ドットでつないだ3つの Base64URL 部分です。署名アルゴリズムを示すヘッダー、誰向けのトークンか・いつ期限が切れるかなどのクレームを持つペイロード、そして署名です。最初の2つは誰でも読めますが、鍵の持ち主から来たトークンであることを証明できるのは署名だけです。

よくある質問

デコードと検証は同じ?

いいえ。デコードは暗号化されていない中身を読むだけです。検証は鍵で署名を確認する処理で、サーバーはクレームを信頼する前に必ず行う必要があります。

exp、nbf、iat とは?

exp は期限切れの時刻、nbf はそれより前は無効となる時刻、iat は発行時刻で、いずれも1970年からの秒数です。このツールはお使いの端末の時計と比較します。

本物のトークンを貼り付けても安全?

トークンはブラウザ内でデコードされ、当社のサーバーに送信されることはなく、このページに広告もありません。それでも有効なトークンはパスワードと同様に扱い、期限切れやテスト用のものを使うのがおすすめです。

このツールの変更履歴

キーボードショートカット

閉じる

どこでも

ツールと操作を検索
Ctrl K
このヘルプを表示
?
テーマを切り替え
Ctrl Shift L
選択したツールをピン留め(検索内)
Ctrl P

ツール上

出力を最初の候補に送る
Ctrl ↵
ファイルを入力に開く
Ctrl O
出力をコピー
Ctrl Shift C
検索を閉じるesc
ツールBase64 エンコーダー/デコーダーテキストを Base64 にエンコード、または Base64 をテキストにデコードします。標準と URL セーフの文字セットに対応しています。エンコードJSON フォーマッター/バリデーターJSON を整形、圧縮、検証します。エラーの行と列を正確に表示します。整形正規表現テスターJavaScript の正規表現を、リアルタイムのハイライト、キャプチャグループ、わかりやすい言葉での説明とともにテストします。テキストUUID・ULID ジェネレーターUUID v4・UUID v7・ULID をまとめて生成できます。IDを貼り付ければ、バージョン、バリアント、タイムスタンプを確認できます。ジェネレーターUnixタイムスタンプ変換Unixタイムスタンプと日時を相互に変換。任意のタイムゾーンに対応し、ISO 8601、RFC 2822、相対時間も表示します。日付と時刻ハッシュ・HMAC ジェネレーターテキストやファイルの MD5、SHA-1、SHA-2、SHA-3、BLAKE2、BLAKE3、CRC-32 ハッシュを計算します。HMAC にも対応しています。セキュリティパスワードジェネレーター&強度チェックランダムなパスワード、パスフレーズ、PINを生成したり、パスワードの強度を調べたりできます。セキュリティJWT デコーダー・検証ツールJSON Web Token をデコードし、有効期限やクレームを確認し、シークレットや公開鍵で署名を検証できます。セキュリティCIDR・IPサブネット計算機IPv4・IPv6ネットワークの範囲、マスク、サイズを計算し、サブネットに分割して、包含や重複を確認できます。ネットワークCron式の解説ツールCron式を分かりやすい言葉で読み、任意のタイムゾーンでの次回実行を確認し、標準形に整えます。日付と時刻行を並べ替えテキストの行を A から Z、Z から A、自然順(file2 が file10 より前)、コードポイント順、数値順、長さ順に並べ替えます。テキスト重複行を削除リストから重複した行を削除します。最初または最後のコピーを残す、大文字小文字や空白を無視する、繰り返される行をすべて取り除くこともできます。テキストリストとテキストを比較2つのリストを行ごとに比較:両方にある行、片方だけの行、どちらかにある行を見つけたり、マーク付きの行差分を並べて表示したりできます。テキスト大文字小文字の変換とスラッグテキストを camelCase、snake_case、kebab-case、Title Case などに変換、またはタイトルをアクセント処理付きの URL スラッグに変換します。テキストURL のエンコード・デコード・解析URL 用にテキストをパーセントエンコード/デコードしたり、URL をスキーム・ホスト・パス・クエリに分解してクエリを表として編集したりできます。エンコードIBAN・BSN・VAT 検証ツールIBAN、オランダの BSN、クレジットカード番号、EU VAT 番号、メールアドレス、URL、ISBN を検証し、失敗時は理由を表示。1行に1つの値。検証HTML エンティティのエンコード・デコードテキストを名前付き・10進・16進のエンティティで HTML 用にエスケープしたり、& や é などのエンティティを文字に戻したりします。エンコード文字列のエスケープとアンエスケープJSON・JavaScript 文字列、SQL 文字列、CSV フィールド、正規表現、シェルの語向けにテキストをエスケープしたり、エスケープを元に戻したりします。エンコードEAN・UPC・GTIN チェックデジットEAN-8、EAN-13、UPC-A、GTIN-14 のチェックデジットを検証し、欠けた桁を計算し、GS1 プレフィックスから国を表示し、ISBN-10 と EAN-13 を相互変換します。1行に1コード。検証テストデータ生成テスト用の IBAN、BSN、EAN バーコード、EU の VAT 番号をまとめて生成します。検証は通りますが、誰のものでもありません。ジェネレーターSQL 整形・圧縮ツールSQL を句ごとに改行して整形、または 1 行に圧縮します。MySQL・PostgreSQL・SQLite・SQL Server・BigQuery に対応。整形基数変換2進数・8進数・10進数・16進数と、2〜36の任意の基数を相互に変換します。大きな数、2の補数、ビット表示に対応。エンコードYAML・TOML・JSON 変換JSON・YAML・TOML を相互に変換したり、文書を検証して整形したりします。エラーは行と列で表示します。整形CSV と JSON の変換CSV を JSON の配列に、JSON を CSV に変換します。区切り文字を自動判別し、セミコロンと小数点カンマの Excel ファイルも読めます。データGlob / .gitignore テスターパスの一覧に対して glob パターンと .gitignore ルールを試し、どのパスがどのルールで一致するかを確認します。テキストカラー変換色を HEX・RGB・HSL・HWB・OKLCH 間で変換し、背景とのWCAGコントラストを確認し、Material 3のトーナルパレットも作れます。整形chmod 計算機Unix のファイル権限を8進数(755)、文字(rwxr-xr-x)、ls -l、chmod の記述の間で変換します。チェックボックスと setuid・setgid・sticky ビット付き。セキュリティユーザーエージェント解析User-Agent 文字列を読み取り、ブラウザ、エンジン、OS、デバイス種別、ボットかどうかを表示します。空のままにすると自分のブラウザを解析します。ネットワークcURLをコードに変換cURLコマンドを貼り付けると、同じリクエストをfetch、Axios、Python requests、Go、PHPのコードで得られます。実行も送信もしません。ネットワークMarkdown プレビューMarkdown を書くと入力に合わせて表示し、HTML もコピーできます。生の HTML は文字として表示され、リンクも検査されるので、プレビュー内で何も実行されません。整形バーコード・QRコード作成QRコード、EAN-13、UPC-A、Code 128、ITF-14、Data Matrixを作成し、SVGやPNGで保存。画像からコードを読み取ることもできます。ジェネレーターページ変更履歴各リリースの変更点ページこのサイトについてcodeknife.dev とは何か、誰が作っているのかページアイデア改善案を提案し、他の訪問者のアイデアに投票できます。ページプライバシーブラウザから出るものと保存されるものページアクセシビリティ適合状況、既知の制限、問題の報告方法ページメンバーシップ広告を非表示にして上限を拡大ページ操作