JWT 解碼器
新解碼 JSON Web Token,檢視 claims,並在本機驗證 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.
The signature is a keyed hash of the header and payload. It proves the token wasn't altered — verify it below.
| Claim | Value |
|---|
This payload has no standard claims (iss, sub, exp…). All of its data is shown in the Payload panel above.
Runs entirely in your browser. Nothing is uploaded.
在瀏覽器中解碼任何 JSON Web Token
這款 JWT 解碼器可將不透明的 eyJ… 字串即時轉換為可讀的 JSON。貼上一個 JSON Web Token,它將在句點處將其分割,對標頭和載荷進行 Base64URL 解碼,並將兩者並排格式化展示,同時單獨顯示原始簽章。這是除錯身分驗證流程、檢查 API 回應中的令牌,或確認您的後端究竟簽發哪些聲明的最快方法。
令牌的每個部分都有顏色編碼 — 標頭、載荷和簽章 — 使 header.payload.signature 的三個部分一眼即可辨別。無需帳戶、無需伺服器上傳、無每日解碼限制。
一覽聲明並檢查過期時間
解碼器會在清晰的表格中突出顯示 RFC 7519 中定義的標準已登錄聲明 — iss、sub、aud、exp、nbf、iat 和 jti — 並為每個聲明提供通俗易懂的含義說明。三個時間聲明是 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 令牌,可直接複製到請求或測試中。方便的快速鍵按鈕可新增最新的 iat 和 exp 聲明,使您的測試令牌具有逼真的時間戳記。
這使 UtiloKit 成為集 JWT 解碼器和編碼器於一體的工具 — 檢查來自 API 的令牌並建立新令牌傳送,所有操作在同一頁面完成,無需伺服器參與,無需帳戶。
與 jwt.io、token.dev 和 jwtdecode.com 的比較
jwt.io 是網路上最知名的 JWT 工具 — 由 Auth0 建置,在文件中被廣泛引用,受到數百萬開發者的信賴。其主要局限在於隱私:jwt.io 在某些設定下會將您的令牌傳送到 Auth0 的伺服器。
token.dev 和 jwtdecode.com 涵蓋了基本解碼功能,但不支援使用 PEM 金鑰進行 RS256/ES256 簽章驗證 — 而這正是 Auth0、Google、Microsoft Azure AD、Okta 以及大多數企業 OIDC 提供者使用的演算法。
UtiloKit 解碼器在瀏覽器中處理所有這些:解碼、過期檢查,以及對 HS/RS/PS/ES 演算法族的完整簽章驗證 — 免費、無需帳戶、無每日限制,且任何內容都不會離開您的裝置。
JWT 安全性:令牌能保護什麼,不能保護什麼
JWT 是為完整性而簽章的,而非為保密性而加密的。持有令牌的任何人都可以讀取載荷中的每個聲明 — Base64URL 編碼是微不足道可逆的,正如本解碼器所示。因此,載荷應只包含非敏感識別碼:使用者 ID、角色或電子郵件。切勿將密碼、付款資訊或 API 金鑰放入 JWT 載荷。
簽章可防止竄改:如果攻擊者修改了載荷中的哪怕一個字元,簽章將不再相符,任何使用正確金鑰進行驗證的伺服器都會拒絕該令牌。經典的 alg: none 攻擊透過聲稱不使用任何演算法來繞過此保護 — 這是一個眾所周知的漏洞(CVE-2015-9235),任何生產環境的 JWT 函式庫都應予以阻止。
使用 exp 保持短令牌生命週期,透過 HTTPS 傳輸,儲存在記憶體或 httpOnly Cookie(而非 localStorage)中,並在每次請求時驗證簽章。在部署到生產環境之前,使用此免費工具解碼和檢查您的令牌,確認這些屬性設定正確。
Frequently asked questions
什麼是 JWT(JSON Web Token)?
JWT 是在兩方之間攜帶簽章資訊的一種緊湊、URL 安全的方式 — 通常是登入令牌。它由用句點連接的三個 Base64URL 部分組成:header.payload.signature。標頭命名簽章演算法,載荷儲存聲明(資料),簽章讓接收方確認令牌未被竄改。OAuth 2.0、OpenID Connect、Auth0、Firebase、Supabase、AWS Cognito 以及大多數現代身分驗證系統都使用 JWT。
如何解碼 JWT?
在兩個句點處分割令牌,對前兩部分進行 Base64URL 解碼。解碼後標頭和載荷是純 JSON;第三部分(簽章)保持二進位形式。本工具可即時完成 — 貼上令牌,解碼後的標頭和載荷即以格式化形式顯示。無需將任何內容傳送到任何地方;解碼在您的瀏覽器中執行。解碼 JWT 不需要金鑰或私密金鑰。
線上解碼 JWT 安全嗎?
使用本工具,是的 — 每個位元組都在您的瀏覽器中使用 JavaScript 本地解碼,您的令牌永遠不會碰觸伺服器、記錄或網路請求。所有處理都在用戶端完成,沒有後端,也沒有對令牌內容的分析追蹤。話雖如此,JWT 仍然是一種憑證:不要將即時生產令牌貼上到任何您不信任的網站。
JWT 裡面有什麼?
三個部分。標頭是描述類型和簽章演算法的 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 載荷中放置金鑰。金鑰或公開金鑰只有在驗證簽章時才需要,即證明令牌是真實且未被竄改的。解碼告訴您令牌聲稱什麼;驗證告訴您是否應該相信它。
Related tools
檢視所有工具信用卡號驗證器
以 Luhn 演算法檢查卡號並辨識其發卡品牌。
通關密語產生器
以安全亂數產生好記的單字組通關密語。
雜湊產生器
在本機計算 MD5、SHA-1 與 SHA-256 雜湊值。
密碼強度檢查器
以熵值、破解時間估算與改進建議測試密碼強度。
文字加密 / 解密
以通關密語進行 AES-256 加解密訊息,全程在瀏覽器中完成。
Tax Bracket Calculator
See your 2024 US federal income tax bracket, effective rate and marginal rate — for any filing status.