Skip to content
JWTデコーダー
Tools

JWTデコーダー

新着

JSON Web Tokenをデコードしてクレームを確認、HS256署名もローカルで検証。

A JWT is a credential. This decoder, verifier and encoder run 100% in your browser — your token and secret are never uploaded, logged, or sent to any server. Even so, never paste a real production token into a site you don't fully trust.

Runs entirely in your browser. Nothing is uploaded.

ブラウザで任意のJSON Web Tokenをデコードする

このJWTデコーダーは、不透明なeyJ…文字列を即座に読みやすいJSONに変換します。JSON Web Tokenを貼り付けると、ドットで分割し、ヘッダーとペイロードをBase64URLデコードして、両方を並べて整形表示します — 生の署名は別途表示されます。認証フローのデバッグ、APIレスポンスからのトークン検査、バックエンドが発行しているクレームの確認に最適な方法です。

トークンの各部分はカラーコード表示 — ヘッダー、ペイロード、署名 — により、header.payload.signatureの3つのセクションが一目でわかります。アカウント不要、サーバーへのアップロードなし、デコード回数の上限なし。

クレームを読み、有効期限を一目で確認

デコーダーはRFC 7519で定義された標準登録クレーム — isssubaudexpnbfiatjti — をわかりやすい表に表示し、それぞれの意味をわかりやすい言葉で説明します。3つの時刻クレームはUnixエポック秒で表されており、誤読しやすいため、ツールがローカルの日時に変換し、「5分前に発行」や「59分後に期限切れ」といった相対的なヒントを追加します。

最も重要なのは、JWTデバッガーを開いてよく尋ねる質問に答えてくれることです:このトークンはまだ有効か? expクレームを現在時刻と比較し、nbfも考慮してトークンを自動的に有効または期限切れとマークします。

署名を検証する — HS256、RS256、ES256

デコードはトークンが何を主張しているかを示し、検証はそれを信頼できることを証明します。このツールはJWT署名検証ツールでもあります:ヘッダーからアルゴリズムを読み取り、ブラウザのWeb Crypto APIを使用してローカルで署名を検証します。HS256、HS384、HS512の場合は共有HMACシークレットを、RS256、PS256、ES256(および384/512バリアント)の場合は発行者のPEM形式の公開鍵を貼り付けます。

計算はデバイス上で実行されるため、トークン、シークレット、鍵をサーバーに送信することなく、トークンが本物であること(ペイロードが改ざんされていないこと)を確認できます。緑のチェックマークは署名が一致することを意味し、赤のバツ印はトークンが変更されたか、間違った鍵を使用していることを意味します。

JWTの作成とエンコードも可能

逆方向も必要ですか?組み込みのJWTエンコーダーを使用すると、ゼロからトークンを作成できます。ヘッダーとペイロードをJSONとして編集し、HMACアルゴリズムを選択し、シークレットを入力すると、正しく署名されたheader.payload.signatureトークンが生成され、リクエストやテストにそのままコピーできます。便利なショートカットボタンで最新のiatexpクレームを追加し、テストトークンにリアルなタイムスタンプを設定できます。

これによりUtiloKitはJWTデコーダーとエンコーダーを兼ね備えたツールになっています — APIから返ってくるトークンを検査し、送信用の新しいトークンを作成する、すべて同じ場所で。サーバー関与なし、アカウント不要のjwt.ioと同じワークフローです。

jwt.io、token.dev、jwtdecode.comとの比較

jwt.ioはウェブで最も有名なJWTツールです — Auth0が構築し、ドキュメントで広くリンクされ、何百万人もの開発者に信頼されています。主な制限はプライバシーです:jwt.ioは一部の設定でトークンをAuth0のサーバーに送信します。

token.devjwtdecode.comは基本的なデコードをカバーしていますが、PEM鍵を使ったRS256/ES256署名検証をサポートしていません — これはAuth0、Google、Microsoft Azure AD、Okta、ほとんどのエンタープライズOIDCプロバイダーが使用するアルゴリズムです。

このUtiloKitデコーダーはブラウザですべてを処理します:デコード、有効期限チェック、HS/RS/PS/ESアルゴリズムファミリー全体の完全な署名検証 — 無料、アカウント不要、上限なし、デバイスからデータが出ることなし。

JWTセキュリティ:トークンが保護できるものとできないもの

JWTは完全性のために署名されていますが、機密性のために暗号化されているわけではありません。トークンを持っている人は誰でもペイロードのすべてのクレームを読むことができます — Base64URLエンコーディングは簡単に逆変換できます(このデコーダーが示すとおり)。そのため、ペイロードには非機密の識別子のみを含めてください:ユーザーID、ロール、メールアドレスなど。パスワード、支払い情報、APIキーをJWTペイロードに入れないでください。

署名は改ざんに対して保護します:攻撃者がペイロードの1文字でも変更すると、署名は一致しなくなり、正しい鍵で検証するサーバーはトークンを拒否します。古典的なalg: none攻撃は、アルゴリズムが使用されていないと主張することでこれを回避します — よく知られた脆弱性(CVE-2015-9235)であり、本番環境のJWTライブラリはブロックすべきです。

expを使用してトークンの有効期限を短く保ち、HTTPSで転送し、メモリまたはhttpOnly Cookie(localStorageではなく)に保存し、すべてのリクエストで署名を検証してください。本番環境にデプロイする前に、この無料ツールでトークンをデコードして検査し、これらのプロパティが正しく設定されていることを確認してください。

Frequently asked questions

JWT(JSON Web Token)とは何ですか?

JWTは2者間で署名付き情報を運ぶためのコンパクトでURL安全な方法です — 多くの場合ログイントークンとして使われます。ドットで結合された3つのBase64URLパーツで構成されます:header.payload.signature。ヘッダーは署名アルゴリズムを示し、ペイロードはクレーム(データ)を保持し、署名により受信者はトークンが改ざんされていないことを確認できます。JWTはOAuth 2.0、OpenID Connect、Auth0、Firebase、Supabase、AWS Cognito、ほとんどの現代的な認証システムで使用されています。

JWTをデコードするにはどうすればいいですか?

トークンを2つのドットで分割し、最初の2つのパーツをBase64URLデコードします。ヘッダーとペイロードはデコード後は通常のJSONです;3番目のパーツ(署名)はバイナリのままです。このツールは即座に行います — トークンを貼り付けると、デコードされたヘッダーとペイロードが整形表示されます。何も送信されません;デコードはブラウザ内で実行されます。JWTをデコードするためにシークレットや秘密鍵は不要です。

JWTをオンラインでデコードするのは安全ですか?

このツールでは、はい — すべてのバイトはJavaScriptを使用してブラウザ内でローカルにデコードされ、トークンはサーバー、ログ、ネットワークリクエストに一切触れません。バックエンドなし、トークンコンテンツの分析トラッキングなしで、すべてクライアントサイドで処理されます。とはいえ、JWTは依然として認証情報です:信頼しないウェブサイトに本番トークンを貼り付けないでください。

JWTには何が含まれていますか?

3つのパーツがあります。ヘッダーはタイプと署名アルゴリズムを説明するJSONです(例:{"alg":"HS256","typ":"JWT"})。ペイロードはクレームを保持するJSONです — 登録済み(sub、exp、iat…)とロールやユーザーIDなどのカスタムデータの両方。署名はヘッダーとペイロードのキー付きハッシュで、変更されていないことを証明します。署名のみがシークレットまたは鍵を必要とします;ヘッダーとペイロードはBase64URLエンコードされているだけで、暗号化されていません。

JWTが期限切れかどうかを確認するにはどうすればいいですか?

expクレームを読んでください — 秒単位のUNIXタイムスタンプです。expが現在時刻より前であれば、トークンは期限切れで拒否すべきです。このデコーダーはexpを読みやすい日付に変換し、「3時間前に期限切れ」や「59分後に期限切れ」といった相対時間を表示し、トークンを自動的に有効または期限切れとマークします。

JWT署名を検証するにはどうすればいいですか?

ヘッダーをデコードしてalgを読み取り、header.payloadの署名を再計算して比較します。HS256/384/512の場合は共有シークレット、RS256、PS256またはES256の場合はPEM形式の発行者の公開鍵が必要です。このツールはWeb Crypto APIを使用してすべてをローカルで検証します — 対応するアルゴリズムを選択し、シークレットまたは公開鍵を貼り付けると、署名が本物かどうかを報告します。

シークレットなしでJWTをデコードできますか?

はい。デコードはBase64URLエンコードされたヘッダーとペイロードを読み取るだけで、鍵はまったく必要ありません — だからこそJWTペイロードにシークレットを入れてはいけないのです。シークレットまたは公開鍵は署名の検証、つまりトークンが本物で改ざんされていないことを証明するためにのみ必要です。デコードはトークンが何を主張しているかを教えてくれ、検証はそれを信じるべきかどうかを教えてくれます。