ブラウザー専用ツール

JWT デコーダーと署名検証

header と payload の claims、期間を確認し、必要に応じて署名を検証します。

ブラウザー内で処理 · アップロードなし · アカウント不要

クレームの内訳

JWT 署名の検証

任意:このトークンを検証する HMAC シークレットまたは PEM 公開鍵を入力します。

HS は共有シークレット、RS・PS・ES は PEM 公開鍵を使用します。

未検証

デコードは検証ではありません。署名、発行者、対象者、期間、アプリケーションポリシーを確認するまでクレームを信頼しないでください。

このツールの使い方

header と payload の claims、期間を確認し、必要に応じて署名を検証します。

サンプルで入力形式とメタデータを確認してから、自分の値に置き換えてください。

プライバシーと安全な利用

処理はこのブラウザータブ内で完結します。大きな値は端末メモリを多く使う場合があります。

デコードは検証ではありません。署名、発行者、対象者、期間、アプリケーションポリシーを確認するまでクレームを信頼しないでください。

よくある失敗と原因

  • 入力が空、不正、またはこのツールが想定する形式ではありません。
  • 選択したモードと alphabet、ファイル形式、表現方法が一致していません。
  • 非常に大きな値ではエンコード前後のデータが同時に存在し、メモリ不足になることがあります。
  • 変換成功は、デコード内容の安全性や信頼性を保証しません。

同等のコマンド

利用中のランタイムやシェルで再現できます。信頼できない入力は検証し、バイナリを端末へ直接出力しないでください。

Python

import base64, json
h, p, s = token.split('.')
decode = lambda value: json.loads(base64.urlsafe_b64decode(value + '=' * (-len(value) % 4)))
print(decode(h), decode(p))

JavaScript

const [header, payload] = token.split('.');
const decode = value => JSON.parse(Buffer.from(value, 'base64url').toString('utf8'));
console.log(decode(header), decode(payload));

Shell

IFS=. read -r header payload signature <<EOF
$TOKEN
EOF
printf '%s' "$payload" | basenc --base64url --decode

規格と公式リファレンス