この記事に関連するツール
ブラウザ上ですぐに試せます。記事の内容を確認しながら使うと、作業の流れをつかみやすくなります。

「このトークン、中身は何だろう?」
認証の実装をしていると、必ず目にする eyJhb... で始まる謎の文字列。それが JWT (JSON Web Token) です。
「ユーザーIDは正しく入っているかな?」「有効期限(exp)は切れていないかな?」
そんな疑問を解消するために、トークンの中身をパッと確認したいシーンは多いはずです。でも、ちょっと待ってください。そのトークン、どこでデコードしようとしていますか?
「見られてもいいデータ」なんてない
JWTのヘッダーとペイロードは、ただ Base64Url という方法でエンコードされているだけです。暗号化はされていないので、誰でも中身を読むことができます。
多くの開発者が、中身を確認するためにオンラインのデバッガーを利用します。しかし、もしそのトークンが本番環境のものだったら……? 悪意のあるサイトにトークンを送信してしまったら、その瞬間にセッションが乗っ取られるリスクが生じます。
「デバッグしたいだけなのに、リスクを負いたくない」。そんな当たり前の願いを叶えるのが、当サイトの設計思想です。
ブラウザ完結だから、安心してデバッグできる
DevToolKitsの JWTデバッガー は、入力されたトークンを あなたのブラウザ内だけで 解析します。
サーバーにデータを送信することは一切ありません。ネットワークタブを開いて確認してみてください。ボタンを押しても「沈黙」を守っているはずです。この沈黙こそが、私たちが提供できる最大の安心です。
使い方のヒント
- デバッグしたいトークンを貼り付ける。
- 瞬時に展開される「Header」と「Payload」を確認する。
- 署名の検証(Verify)が必要な場合は、シークレット鍵や公開鍵を貼り付けて整合性をチェックする。
401エラーを調べるときの見方
APIが 401 Unauthorized を返すときは、まずPayloadの exp、iat、iss、aud を確認します。exp が現在時刻より前なら単純な期限切れ、aud が別サービス向けならトークンの発行先違い、iss が想定と違うなら環境の混在を疑えます。
{
"sub": "user_123",
"iss": "https://auth.example.com",
"aud": "admin-api",
"exp": 1779327600
}
exp はUNIX時間で入ることが多いため、必要に応じて UNIXタイム変換ツール と合わせて確認します。Headerに kid がある場合は、署名検証で使う鍵を特定する手がかりになります。公開鍵の確認が必要な場合はJWKSの確認フローも合わせて見ると、鍵ローテーション由来の失敗を切り分けやすくなります。
まとめ
JWTは便利な道具ですが、扱いを一歩間違えると大きな事故に繋がります。
「安全な場所で、正しく中身を確認する」。そんな習慣を身につけて、より堅牢なシステム開発を楽しみましょう。