Volade エコシステム — Webツール

JWT エンコーダー / デコーダー

JWT を一瞬でデコード:ヘッダー・ペイロード・署名をインデント付き JSON で表示し、Claim を特定、シークレットによる HS256 または PEM 公開鍵による RS256 / ES256 の署名検証、新規トークンのエンコードと署名、期限の読みやすい日付への変換に対応。無料・登録不要・100 % ローカル:トークンがブラウザーの外に出ることはありません。

6 処理モード0 サーバーに送信されるバイト∞ 個のトークン、サイズ無制限
ツール

あなたのオンライン JWT デコーダー

トークン、ヘッダー、ペイロード、または Authorization ヘッダーから取出した文字列を貼り付けるだけ:入力のたびにデコードが更新され、「変換」ボタンは必要ありません。

JWT エンコーダー / デコーダー

オンライン 開発・コード & データ
ログイン
ショートカット: Ctrl+Enter 計算
準備完了。

                  

                  
署名は復号されません。「検証」タブで、シークレットまたは公開鍵を使って検証します。
Claim値型役割
デコード・検証・署名は入力中に実行されます · Ctrl+Enter アクティブなタブを再計算 · ネイティブ WebCrypto、外部ライブラリなし · 100 % ローカル、何もデバイスから出ません。
0,0 0コメント すべてのツール
無料版と Premium の違いは?

JWT デコーダーは無料・無制限:アカウント不要、インストール不要、通信なし。Premium では Volade エコシステム全体が使えます。

無料ヘッダー・ペイロード・Claim のリアルタイムデコード
無料HMAC HS256 / HS384 / HS512 と PEM 公開鍵による検証
無料新規トークンのエンコードと署名、期限の変換
Premium履歴とスニペットの暗号化クラウド同期
Premiumエコシステムのツール間で共有できる API とスクリプト
Premium をアンロック
機能

JWT のデコード・検証・エンコードを制限なく

読み取りから整合性の確認、トークン生成まで 1 つのエンジンでカバー — いつもあなたのデバイスの中に。

ヘッダー・ペイロード・署名をデコード

トークンを貼るだけで — 大文字でも、Bearer プレフィックスや引用符が付いていても — 入力しながらヘッダーとペイロードがインデント付き JSON で現れます。各 Claim は値・型・役割とともに一覧化され、タイムスタンプは ISO 8601 と残り時間に変換され、格納された署名はそのまま表示されます。

今すぐデコード

本気で署名を検証する

この検証は見た目だけのものではありません:正確な header.payload 文字列に対して MAC を再計算し、一定時間比較で署名と照合します。HS256 / HS384 / HS512 は共有シークレット、RS256 / RS384 / RS512 / ES256 / ES384 / PS512 は SPKI 形式の PEM 公開鍵を使います。判定は明確です:有効、無効、または情報不足。

署名を検証する

完全なプライバシー

ネットワークリクエストはゼロ:デコード・検証・署名はすべてブラウザー内で完結し、オフラインでも動きます。本番のトークン、ステージングの鍵、誰にも渡したくない識別子を含むセッショントークン — ツール自身にすら — を扱うのに最適です。

詳しく見る
仕組み

3 つのステップでトークンをデコード・検証・生成

インストールも登録も不要:モバイルでもデスクトップでも、いつでもすぐに使えます。

トークンを貼り付ける

「Authorization: Bearer」の後ろの値、または Cookie から値を取り出し、「デコード」タブに貼り付けると、3 つのセグメントがすぐに分かれてデコードされます。Bearer プレフィックス、引用符、改行は自動的に取り除かれます。

整合性を確認する

「検証」タブに移動し、ヘッダーが宣言したアルゴリズムを選び、シークレットまたは公開鍵を入力すると、ツールが MAC を再計算して判定を表示します。誰もが省略するステップであり、中身を実際に守るのはこのステップだけです。

トークンを生成する

「エンコード」でペイロードを編集し、「有効期限」タブで exp と iat を調整し、HS256 で署名すると、コピーできる状態のトークンがすぐに出ます。ローカル履歴に最近のトークンが残るので、ワンクリックで読み込めます。

クイックリファレンス

ひと目でわかる JWT

トークンを読む前にほとんどの開発者が確認すること — 完全な構造は「構造 & リファレンス」タブに。

セグメント役割エンコード例
1ヘッダー(alg, typ)Base64URLeyJhbGciOiJIUzI1NiJ9
2ペイロード(claims)Base64URLeyJzdWIiOiIxMjM0NTY3ODkwIn0
3署名Base64URLSflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV…
exp有効期限Unix(秒)1793827200 → 2026-11-04
HS256HMAC + SHA-256共有シークレット最低 32 バイト
RS256RSA + SHA-256PEM 公開鍵非対称検証
Base64 の「+」—Base64URL「-」に置き換え
Base64 の「/」—Base64URL「_」に置き換え

「decoder un JWT」とはどういう意味?

JWT をデコードする (「jwt decode」「decode jwt online」)は、文字列を 2 つのドットで切り分け、各セグメントを Base64URL でデコードして元の JSON を取り出すことです。鍵は不要:ヘッダーとペイロードは暗号化ではなく、エンコードされているだけです。まさに「jwt payload decoder」「decode jwt without verify」の意図 — トークンが何を含むかを見るのであって、本物だと主張するためではありません。

この 2 つの操作は明確に区別してください。 読み取り JWT は何も証明しません:誰でも魅力的なペイロードのトークンを作り、自分のシークレットで署名できます。 検証 すると、内容が第三者に変更されていないことが証明されます。署名の検証をせず「admin: true」と表示するデコーダーは、事実ではなく作り話を語っています。

JWT の 3 つのセグメント

文字列はドットでちょうど 3 つに分かれます: header.payload.signature。ヘッダーには最低限 alg と typ、場合によっては kid どの鍵を使ったかを示します。ペイロードには claims、つまり IANA がレジストリを管理するキーと値のペアが入っています。署名は最初の 2 つのセグメントを、書かれたまま連結した全体をカバーします — 空白 1 つ、文字 1 つでも変わると比較は失敗します。

難しさはすべて、このセグメントが Base64 ではなく Base64URL であることに起因します:プラスはハイフンに、スラッシュはアンダースコアになり、パディング = が消えます。標準 Base64 のデコーダーは有効な JWT でも失敗します。リファレンスタブの「Base64URL と標準 Base64 の比較」表が、まさにこの置き換えを示しています。

署名の検証方法:HS256、RS256、ES256

たとえば HMAC (HS256、HS384、HS512)では、署名にも検証にも同じシークレットが使われます。ツールは次を再計算します: HMAC(secret, base64url(header) + "." + base64url(payload)) その結果を格納された署名と比較します。これは最も多いケースであり、同時に最も危険です:シークレットを持つサービスはどれでもトークンを発行できます。32 バイト未満で環境間で使い回されるシークレットだけで、チェーン全体が破られます。

次に、 非対称アルゴリズム (RS256、RS384、RS512、ES256、ES384、ES512、PS256)では、検証に必要なのは公開鍵だけです。これにより、署名用シークレットを一切共有せずに、第三者が発行したトークンを検証できます。PEM 形式の鍵を貼り付けてください -----BEGIN PUBLIC KEY----- (SPKI)。OpenSSL のエクスポート結果はそのまま使えます。ES256 の署名は生の r||s 形式で、WebCrypto が求めるものです。

そして最後に注意したいのがalg confusion :あなたのサービスが RS256 を想定しているのに、ヘッダーに HS256 と宣言されたトークンを受け付けてしまう場合、攻撃者は公開鍵(HMAC の鍵になった状態)で署名し、検証を突破します。期待するアルゴリズムはサーバー側で固定し、トークン自身から読み取ってはいけません。

exp、iat、nbf:ハマりやすいタイムスタンプ

この 3 つの Claim は Unix 秒で、ミリ秒もタイムゾーンもありません: iat が 1516239022 なら 2018-01-17T21:30:22Z です。よくある 2 つの間違い:ミリ秒単位の日付と比較する(値が 1 万倍大きくなります)、timestamp を UTC ではなくローカル時刻と解釈すること。「有効期限」タブは双方向に変換し、ISO 8601・ローカル日付・残り時間/経過時間を表示します — 「すでに期限切れ」のトークンが秒単位でわかります。

有効期間を延長してもセキュリティの水準は上がりません。たとえば exp を延長しても変わるのは表示される値で、署名ではありません。再発行する必要があるなら、シークレットか秘密鍵でトークンに再署名してください — それが「エンコード」タブの役割です。

Base64URL:標準のデコーダーが失敗する理由

Base64URL(RFC 4648 §5)が使うアルファベットは A-Z a-z 0-9 - _ で、パディングは認めません。20 文字のペイロードは、 = を除いた後に長さが 4 の倍数にならないことがよくあります。これは正常で、破損ではありません。文字 - と _ は人間の目には曖昧で、報告される「壊れたトークン」の半分がこの原因です。当ツールは両方のアルファベット、大小混在の文字、任意のパディング、そしてプレフィックス Bearer.

セキュリティ:JWT ができないこと

JWT は機密性も失効機能も提供しません。ペイロードは誰でも読めます:メールアドレス、内部ロール、平文で送るわけのない個人情報は決めて入れないでください。また署名済みトークンは exp まで有効で、ログアウトしても残ります — 必要なのは失効リスト、 jti をサーバー側で追跡する方法、または refresh token。おすすめは: exp を短く(10 〜 15 分)、 iat を管理し、 nbf を iat, aud と iss を受け取った時点で検証。

こんな方におすすめ

バックエンド・フロントエンド開発者(OAuth 2.0、OpenID Connect、REST API)、インテグレーターと DevOps(ID 基盤、JWKS、鍵ローテーション)、テスターとペネトレーションテスター(Claim の書き換え、alg confusion、期限切れ)、システム管理者(理由のわからない 401 のデバッグ)、学生(Base64URL と WebCrypto を理解したい)、そして オンライン JWT デコーダー ——速く、網羅的で、機密性も高いものが必要な方へ。あわせて使えるのはBase64 エンコーダー / デコーダー、URL エンコーダー / デコーダー と JSON フォーマッター.

FAQ

JWT デコーダーのよくある質問

トークンをデコード・検証・署名する前に知っておきたいことすべて。

オンラインで JWT をデコードするには?

「デコード」タブにトークンを貼り付けると、ヘッダー・ペイロード・署名がまず分離され、続いて各 Base64URL 部分がインデント付き JSON にデコードされます。標準 Claim(iss、sub、exp、iat、nbf、jti)は型と役割とともに表で一覧化され、タイムスタンプは ISO 8601 と残り時間/経過時間で表示されます。

JWT の署名はどう確認するの?

「検証」タブで、トークンが宣言したアルゴリズムを選びます。HS256 / HS384 / HS512 では共有シークレットを入力すると、ツールは header.payload 文字列上で HMAC を再計算し、格納された署名と比較します。RS256 / RS384 / RS512 / ES256 / ES384 / PS256 では、SPKI 形式の PEM 公開鍵を貼り付けます。結果には理由とともに「署名は有効」または「署名は無効」と表示されます。

ここで JWT をエンコードして署名できますか?

できます。「エンコード」タブで JSON ヘッダーと JSON ペイロードを編集し、アルゴリズムを選び、共有シークレットを入力すると、署名済みトークンがすぐに表示され、コピーも jwt.txt へのダウンロードもできます。署名には HS256・HS384・HS512・none が対応し、それ以外のアルゴリズムは検証用です。

JWT とは何か、3 つの部分は何のため?

JWT(JSON Web Token)は、ドットで区切られた 3 つのセグメントからなる文字列です:ヘッダーはアルゴリズムと型を宣言し、ペイロードは Claim を運び、署名が改ざんされていないことを保証します。最初の 2 つのセグメントは Base64URL でエンコードされた JSON で、これは変換であって暗号化ではありません:誰でも読めます。完全性を守るのは署名だけです。

Claim の exp、iat、nbf の見方は?

exp、iat、nbf は ISO 日付ではなく Unix 秒のタイムスタンプです。「デコード」タブでは自動的に ISO 8601 と相対時間(例:あと 2 日 03 時間 00 分 00 秒)に変換され、「有効期限」タブではタイムスタンプと読み可能な日付を双方向に変換できます。無効に見えるトークンの確認にも、正確な有効期間の設定にも使えます。

Base64 と Base64URL の違いは?

Base64URL はプラスをハイフンに、スラッシュをアンダースコアに置き換え、パディング「=」も取り除きます。JWT では必須で、ピリオド・プラス・スラッシュは 3 セグメントの分割を壊してしまうためです。だからこそ、完全に有効なペイロードでも標準のデコーダーが失敗することがあります。

デコードした JWT はパスワードですか?

いいえ。JWT のペイロードは単なる Base64URL で、鍵なしで完全に読めます:識別子、メールアドレス、ロール、権限を中には入れないでください。署名は内容を暗号化するのではなく、真正性を保証します。クライアント側で秘密を守りたければ、別の対称暗号が必要です — JWT はそういう用途向けではありません。

このツールはトークンをサーバーに送りますか?

いいえ:デコード・検証・署名はすべてブラウザー内で WebCrypto により実行され、ネットワークリクエストもアカウントもありません。セッション識別子を含むことが多い本番トークンには欠かせません。履歴はデバイスのローカルストレージに残り、ワンクリックで消せます。

100 % ローカルの JWT デコーダー:トークンが PC の外に出ることはありません

従来のオンライン JWT デコーダーと違い、文字列は一切送信されません:デコード、署名検証、エンコードはすべてブラウザー内で WebCrypto により実行され、外部ライブラリもネットワークリクエストもありません。だからこそ、本物のセッショントークン、ステージングの鍵、社内サービスのトークンを、オフラインや公開ネットワークでも安心して調査できます。履歴と最後の入力はローカル(localStorage)に保存され、デバイスから出ません。

ライセンス Premium Volade は、任意の暗号化クラウド同期を追加します(ツールとは独立)— それ以外は無料・無制限・登録不要のままです。

プレミアムライセンス 1 つで、すべての Web ツール

JWT デコーダー、URL エンコーダー / デコーダー、Base64 エンコーダー / デコーダー、JSON フォーマッター、ジェネレーター、PDF エディターなど、数え切れない無料ツール — そしてライセンス 1 つで Volade エコシステム全体が使えます。

1つのライセンスで、プレミアム・エコシステム全体 ブラウザ · CMS · デスクトップ · モバイル · スクリプト · API · ツール · Database
1つのライセンスで全部 プレミアムへ ログイン