BrowserDevTools

JWT 批次解碼器

一次貼上多個 JWT(一行一個),取得狀態表:有效、已過期、尚未生效或格式錯誤——外加 exp/nbf/iat 掃描、安全提示與 CSV/JSON 匯出。解碼在本機進行;token 永遠不會離開你的瀏覽器。

選填

解碼在本機、離線進行。RS/ES 簽章需要取得 JWKS——本工具不會那麼做,因此會將它們標為未驗證,而不是假裝已驗證。永遠不會上傳任何東西,也沒有分享連結。

結果

5 個 token2 個有效1 個已過期1 個尚未生效1 個格式錯誤4 個有安全提示
#狀態algsubexp備註
1有效HS256user-423022 天後到期1 則備註
2已過期HS256user-7已過期 2456 天1 則備註
3尚未生效RS256svc-batch3023 天後到期2 則備註
4有效noneadmin3022 天後到期2 則備註
5格式錯誤payload 無法解析:不是有效的 Base64URL 字元

為什麼需要批次解碼器

除錯單一 token 是已解決的問題——jwt.io 做得很好,而且大家都連向它。真正耗時的是另一種形狀的工作:客戶端正在送出 300 個 token 的事件,而你需要知道哪些已經過期;一半請求因為時鐘偏移而失敗的整合;或是你懷疑某個服務仍在簽發 alg: none token 的日誌傾印。把這些一個一個貼進單一 token 除錯器就是瓶頸,而少數真的能處理批次的工具,多半是只有一個純文字區的無名單頁網站。

所以本頁是圍繞批次而建,不是圍繞單一 token:

token 會以換行、逗號、分號或空格分割,因此你可以直接從日誌檔或試算表貼上一整欄;以 # 開頭的行會被當作註解忽略。不會有任何東西被送往任何地方:沒有後端、不會對你的輸入做分析,也沒有會把 token 留在伺服器上的分享連結——這很重要,因為 JWT 是一種 bearer 憑證。

常見問題

我的 token 會被上傳到任何地方嗎?
不會。解碼在你的瀏覽器分頁中執行,沒有後端端點、沒有記錄,也沒有分享連結。你可以在 Network 面板確認:貼上時不會發出任何請求。
這和 jwt.io 有什麼不同?
jwt.io 是單一 token 除錯器。這個是為批次而建:貼上數百個 token(一行一個),你會得到狀態表、exp/nbf/iat 掃描、每個 token 的安全提示、去重,以及整批的 CSV/JSON 匯出。
你們會驗證簽章嗎?
只驗證 HS256 / HS384 / HS512,而且只用你自己貼上的密鑰——該驗證透過 Web Crypto 在本機進行。RS/ES 簽章需要取得 JWKS,那意味著要把東西送到伺服器,所以工具刻意不做,並把那些 token 標為「未驗證」,而不是暗示它們已驗證。
它會顯示哪些安全提示?
alg=none(未簽章的 token)、缺少 exp(永不過期)、效期超過一年、iat 晚於 exp,以及缺少 iss/aud。這些是 JSON 美化工具不會告訴你的事。
我可以貼上整份日誌檔嗎?
以換行、逗號、分號或空格分隔的 token 都會被切分出來;以 # 開頭的行會被視為註解並忽略。相同的 token 會去重並計數。