什麼是JWT 解碼器?
貼上任意 JSON Web Token,即可查看解碼後的標頭、承載資料和簽章。快速檢查權杖聲明、驗證到期時間、除錯身份驗證問題。
解碼器先按點號拆分 token,再對 header 與 payload 做 Base64URL 解碼,然後當成 JSON 解析。你會看到簽章演算法(HS256、RS256、EdDSA 等)、所有保留聲明(iss、sub、aud、exp、iat、nbf、jti),以及服務端自訂的聲明。時間戳類聲明會從 Unix epoch 換算成本地時區,一眼就能看出 token 是否過期。
使用方法
- 將您的 JWT 權杖貼到輸入欄位中,工具會自動辨識三段 Base64 編碼的內容。
- 並排檢視解碼後的標頭資訊(演算法、類型)和承載內容(聲明、到期時間、簽發者)。
- 複製個別解碼區段或完整的解析結果。
何時使用
- 在排查 401 錯誤時,確認 bearer token 的 exp 是否已經過去。
- 上線前確認預發環境簽出的 token 中 aud 與 iss 是否符合預期。
- 查看第三方 SSO 在 access token 裡塞了哪些 user_id 或 scope。
結果
您正在除錯 API 回傳的 401 錯誤。將請求標頭中的 Bearer 權杖貼進來,檢查 ‘exp’ 聲明是否已過期,或 ‘aud’ 聲明是否與預期的對象相符。
常見問題
- 這個工具會驗證簽章嗎?
- 對於 HMAC 權杖(HS256、HS384、HS512),貼上密鑰後,工具會在你的裝置上驗證簽章。對於 RS 與 ES 權杖(RS256/384/512、ES256/384/512),貼上簽發方的 PEM 公鑰即可同樣驗證。無論哪種方式,密鑰都不會離開你的裝置。
- 把真實生產環境的 token 貼進來安全嗎?
- 解碼完全在你的裝置上完成,token 不會被送到任何伺服器。但是 bearer token 任何人拿到都能冒充使用者,所以真正的風險是旁邊的人看到螢幕,而不是工具本身。
- 如果 alg 欄位是「none」代表什麼?
- 早期一些 JWT 程式庫會接受 alg=none 的未簽章 token,這是已知的攻擊向量。正式環境的 API 應該直接拒絕。如果用來認證使用者的 token 出現 none,代表設定有問題,需要立刻處理。
- 為什麼 exp 與 iat 顯示成數字而非日期?
- JWT 規範把時間戳存成自 1970-01-01 UTC 起算的秒數。解碼器會在每個時間聲明旁邊附上本地時區的可讀日期,讓你不用心算就能判斷 token 是否已過期。
- 可以解析加密的 token(JWE)嗎?
- JWE 採用點號分隔的 5 段,且整體經過加密,而不只是簽章。本工具支援的是 JWS(三段:header.payload.signature)。JWE 需要解密金鑰,而依設計該金鑰應僅保留在接收端伺服器。