線上 JWT 解碼器
JWT(JSON Web Token)由三段以點號分隔的 Base64URL 組成:Header、Payload、Signature。這個JWT 解碼器把前兩段解成可讀的 JSON,讓你檢視 claims(如 sub、iss、exp),並把 exp 換算成可讀時間,方便除錯登入問題。全程本機解碼。
如何使用
- 把完整的 JWT 貼進輸入框。
- 下方即時顯示解碼後的 Header 與 Payload。
- 檢查 exp 是否過期、claims 是否正確。
重要提醒
- 本工具只「解碼」不「驗證簽章」;驗證需要密鑰,不該放上線上工具。
- Payload 可被任何人解讀,勿放機密。
- Token 形同密碼,分享時請小心。
解碼只是讀內容,不等於驗證簽章
除錯登入問題時,最順手的做法就是把 JWT 貼進來,直接看它的 claims、發行者,以及 exp 過期時間——很多「明明帳密沒錯卻一直被登出」的狀況,其實是 token 早就過期了。但有兩個關鍵觀念要記牢:第一,解碼不等於驗證,這裡只是把內容讀出來,並沒有檢查簽章是否有效,能解開不代表這個 token 可信。第二,JWT 的 payload 並沒有加密,只是 Base64 編碼,任何拿到 token 的人都能讀,所以千萬別把密碼、金鑰或任何機密塞進 payload 裡。
不給密鑰為什麼也解得開?
因為 JWT 沒有被加密。我們把規格書裡的示範 token 貼進這一頁、不提供任何密鑰,標頭回傳 { "alg": "HS256", "typ": "JWT" },內容回傳 { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 }。沒有任何東西被解密,因為本來就沒有東西被加密 —— 前兩段是 Base64url 文字,而簽章保護的是它們不被**修改**,不是不被**閱讀**。所以 JWT 絕對不該裝任何你不願意放進網址的東西;而完整的 token 貼進 bug 回報,等於在它過期之前交出一份可用的憑證。