See inside any JWT — header, payload and expiry
Debugging auth means squinting at opaque tokens. Paste a JWT to see its decoded header, payload and expiry instantly — then copy locally. Free to use, with no account needed.
Decode and verify entirely in your browser — nothing is uploaded.
What you can do with JWTデコーダー
Everything this tool helps you accomplish — no learning curve, no setup.
- Decode JWT header and payload instantly
- Inspect token claims in readable JSON
- Check whether a token has expired
- Verify the signature with your secret or key
- Debug auth issues during development
- Try a sample token to see the format
Settings information
3 settings
Every control in JWTデコーダー, explained — what it does and when to use it.
設定
- サンプルのJWTを試すOne-click
- sub、iat、expといった標準クレームを含むデモトークンを読み込みます。自分のJWTを貼り付ける前に、デコードと有効期限チェックの動きを確認できます。
Verify signature
- Verify signatureText input
- トークンの署名を検証するための、HMAC共有シークレット(HS256)または発行者のRSA/EC公開鍵を、PEMまたはJWK形式で貼り付けてください。
- VerifyOne-click
- 入力した秘密鍵または公開鍵で署名を検証し、署名が有効・無効・非対応のアルゴリズムのいずれかをバッジで表示します。
JWTデコーダーが終わったら、次はこちらを
JWTデコーダーと相性のよい厳選ツール。ファイルをそのままに、作業を続けられます。
Base64 エンコーダー / デコーダー
Cryptic Base64 in logs and payloads slows you down. Decode to readable text or encode any text or file — URL-safe, UTF-8 safe, and instant in your browser.
今すぐ試すハッシュジェネレーター
Verifying downloads shouldn't need a command line. Drop a file or paste text for instant SHA-1, SHA-256, SHA-384 and SHA-512 digests. Use and copy results free — no account needed.
今すぐ試すJSON整形
One-line API responses are impossible to scan. Paste or drop JSON to validate it, pretty-print at 2, 4, or 8 spaces, or minify it for production — instantly in your browser.
今すぐ試すURLエンコーダー/デコーダー
Percent-encoded URLs are unreadable, and hand-editing breaks them. Paste any string or full URL to encode or decode it correctly in component or full-URL mode, right in your browser.
今すぐ試すパスワード生成ツール
Weak, reused passwords get accounts hijacked. Create cryptographically random passwords up to 128 characters with live strength feedback, then copy securely. Free to use, with no account needed.
今すぐ試す差分チェッカー
Eyeballing two versions misses changes. Paste both texts and see every addition and deletion highlighted in split or unified view — then copy the result. Free to use, with no account needed.
今すぐ試すよくある質問
エンコードされた JWT(eyJ… で始まる長い文字列)を入力ボックスに貼り付けます。ツールはそれを2つのドットで分割し、ヘッダーとペイロードを Base64URL でデコードして、それぞれの JSON と生の署名部分を表示します。これらはすべて、ネットワークリクエストを一切行わずに実行されます。
usageいいえ。デコーダーはトークンを解析するだけで、署名を秘密鍵や公開鍵と照合して検証することはありません。検証には発行者の鍵情報が必要だからです。本番環境での検証にはサーバーサイドのJWTライブラリを使用してください。このツールは確認とデバッグのためのものです。
technicalヘッダー(アルゴリズムとキーID)、ペイロードのクレーム(sub、iss、aud、iat、exp、および任意のカスタムクレーム)、そして生の署名が得られます。標準的なタイムスタンプのクレームは人間が読みやすい日付形式で表示されるため、期限切れのトークンをひと目で見分けられます。
featuresペイロードに標準の「exp」クレームが含まれている場合、ツールはそれを現在時刻と比較し、正確なタイムスタンプとともに「有効期限」または「トークン失効日時」のいずれかを表示します。expクレームのないトークンは、有効期限なしとして報告されます。
featuresJWTのペイロードを読める人は、有効期限が切れるまでそれを利用できます。そのため、本番用トークンはプライベートなツールでのみ扱うべきです。このデコーダーは完全にブラウザ内で動作し、トークンを一切送信しませんが、可能な限り有効期限の短い開発用トークンをデコードするのが安全なルールです。
privacyJWTはドットで区切られた3つのBase64URLエンコードされたセグメントから成ります。ヘッダー(署名アルゴリズム)、ペイロード(発行者が検証者に信頼してほしいクレーム)、署名(header.payloadに対するMACまたはデジタル署名)です。デコードには鍵は不要で、必要になるのは検証時だけです。
technicalJWTは、ヘッダー・ペイロード・署名という3つのBase64URLセグメントで構成される、コンパクトでURLに安全なトークンです。ユーザーIDや有効期限といった署名付きのクレームを含み、ステートレスなログインセッションやAPIリクエストの保護に広く使われています。上の欄に貼り付けると、ヘッダーとペイロードを確認できます。
technicalデコードされたヘッダーとペイロードの下にある「署名を検証」ボックスに、(HS256 の場合は)署名用の秘密鍵、または(RS256、ES256 などの場合は)発行者の公開鍵を PEM か JWK 形式で貼り付け、「検証」をクリックします。表示されるバッジは、署名が有効か、無効か、あるいはブラウザ側の検証ツールが対応していないアルゴリズムを使っているかを示します — すべてローカルで計算され、トークンや鍵をどこにも送信しません。
featuresHS256 のような HMAC アルゴリズムでは、共有シークレットの生文字列を貼り付けます。RS256、RS384、ES256 のような非対称アルゴリズムでは、発行者の公開鍵が必要で(決して秘密鍵ではありません)、PEM ブロックまたは JWK として指定します。非対称鍵ペアの誤った側を貼り付けると、トークンが有効であっても検証が失敗します。
technical「署名を検証」パネルは、主要なJOSEアルゴリズムをすべてサポートします。HS256/384/512(共有シークレットによるHMAC)、RS256/384/512(RSA公開鍵によるRSASSA-PKCS1-v1_5)、PS256/384/512(RSA公開鍵によるRSA-PSS)、ES256/384/512(対応するP-256/P-384/P-521曲線上のECDSA)です。「none」やこのリスト外のアルゴリズムで署名されたトークンは、有効とマークされることなく常にサポート対象外として報告されるため、古典的なalg=none偽造の手口からも保護されます。
technical最も多い原因は、シークレットボックスに余分な空白や末尾の改行を貼り付けてしまうことです。検証機能は入力したバイトをそのままハッシュ化するため、コピー&ペーストによる余計な文字が一致を崩します。また、現在のトークンを検証しているか再確認してください。コピーした後にJWTが再発行されていたり、プロバイダーのシークレットが生の文字列ではなくbase64エンコードされていたりする場合は、貼り付ける前にまずデコードしてください。
tips「Try sample JWT」をクリックすると、sub、name、iat、exp クレームを含むデモの HS256 トークンが読み込まれ、自分のトークンを貼り付ける前にデコードと有効期限チェックの動作を確認できます。トークンがボックスに入ると、その隣に「Clear」ボタンが表示され、ワンクリックで入力を空に戻せます。
usageヘッダー、ペイロード、署名の各パネルには右上にコピーボタンがあり、そのセクションの JSON(または署名の生文字列)だけをクリップボードにコピーします。また、パネルの下にはメインの「ペイロードをコピー」ボタンがあり、デバッガーやバグレポートに貼り付けるためにクレームだけを取得する、最もよくあるケースに対応します。
featuresAuthorizationヘッダーにある「Bearer 」以降の値 — 「eyJ…」の部分がJWT本体です — をコピーしてデコーダーに貼り付ければ、ヘッダー、ペイロードのクレーム、有効期限の状態がすぐに確認できます。「Bearer eyJ…」という文字列をまるごとコピーした場合は、トークンがドット区切りでちょうど3つの部分になるよう、先に「Bearer 」の接頭辞を取り除いてください。
usageいいえ — これはJWTエディタではなく、デコーダー兼ビューアーです。ペイロードを変更すると署名が無効になるため、トークンを検証するサーバーは改ざんされたバージョンを拒否します。クレームを変更するには、正しいシークレットまたは秘密鍵で署名された新しいトークンを発行する必要があります。このデコーダーはトークンの読み取りとデバッグ用にお使いください。変更用ではありません。
featuresJWTデコーダーでできること
ビジネス、クリエイター、日々の作業で毎日役立つ、実際の課題を解決します。あなたに合う使い方を見つけて、数秒で始めましょう。
OAuth・OpenID Connectフローのデバッグ
Auth0、Okta、Cognito、Azure ADが返すアクセストークンやIDトークンをデコードし、ローカルでのOAuth連携作業中にスコープ、オーディエンス、発行者を検証できます
API呼び出しの認証ヘッダーを検査
失敗している API リクエストのベアラートークンを貼り付けて、バックエンドチームにチケットを起票する前に、原因が誤ったテナント、ロール、有効期限のいずれにあるのかを確認できます
開発中にトークンの有効期限を確認
exp クレームを読むだけで、ステージング環境を密かに壊している期限切れのトークンを発見できます。トークンをターミナルにコピーしたり、簡単なスクリプトを書いたりする必要はありません
トークンのクレームにエンコードされた権限を監査
ロール、テナント、機能フラグなどのカスタムクレームを検証できるため、管理者は顧客のトークンがライセンスチームの意図したとおりのアクセス権を付与しているかを確認できます
シングルサインオン連携を検証
企業のSSO連携が生成するSAMLやOIDCトークンを検査し、全従業員への展開前にグループの所属や属性のマッピングを確認できます
トークンベース認証を教える
デコードされたヘッダー、ペイロード、署名のパネルを使って、JWTがどのように構成されているかを、ブートキャンプの受講生、ジュニアエンジニア、セキュリティワークショップの参加者に説明する
パートナーの Webhook 署名設定を確認
パートナーのRS256またはES256公開鍵を「署名を検証」に貼り付ければ、連携を本番に切り替える前に、そのwebhookペイロードが実際に正しく署名されているか確認できます。
漏洩した、または疑わしいトークンを調査
ログやバグレポートで見つけたトークンをデコードし、署名鍵なしでaudience、スコープ、有効期限を確認できます。インシデント発生時に影響範囲を素早く評価できます。
モバイルアプリのサインイン失敗をデバッグ
ログイン後にモバイルアプリが受け取るアクセストークンを貼り付ければ、WebではサインインできるのにiOSやAndroidで失敗する場合に、有効期限・発行者・カスタムクレームがバックエンドの想定と一致しているか確認できます。
Firebase、Supabase、Clerk のトークンを検証
Firebase、Supabase、Clerkなど最新の認証プロバイダーが発行したトークンをデコードして検査し、認可ロジックを組む前にアプリが読み取るクレーム(uid、role、tenant)が実際に含まれているか確認できます。
