🔑 JWT 解碼器

解碼 JSON Web Token — 檢視頭部、載荷和過期時間

✓ 永久免費 · ✓ 無需註冊 · ✓ 檔案不上傳 · ✓ 離線可用

🔒 你的資料永遠不會離開你的裝置。 所有處理都使用 JavaScript Base64 解碼 在你的瀏覽器中進行。不上傳、不經伺服器、不追蹤。

功能特色

  • 完整解碼 — 解碼並展示 JWT 的頭部(Header)、載荷(Payload)和簽名(Signature)三部分。
  • 過期檢查 — 簽發時間、生效時間和到期時間都以你所在時區的日期顯示,並即時倒數:有效、已過期或尚未生效。
  • 格式化顯示 — 每個聲明都依權杖裡的原樣顯示 —— 很長的數字 ID 一位不少,重複的鍵會被標出來。
  • 完全離線 — 解碼在瀏覽器中完成,令牌不會傳送到任何伺服器。

運作方式

  1. 貼上 JWT — 將 JWT 令牌貼上到輸入框中。
  2. 檢視解碼結果 — 檢視頭部、載荷和簽名資訊,以及過期狀態。
  3. 複製使用 — 複製解碼後的 JSON 資料用於除錯。

使用情境

  • 除錯 API 認證問題時檢查令牌內容
  • 查看 JWT 裡的使用者資訊和權限聲明(解碼不等於驗證)
  • 檢查令牌是否已過期或即將過期

常見問題

它會驗證 JWT 簽章嗎?

不會。它只解碼權杖、顯示裡面聲明了什麼,不驗證簽章,每個權杖下方都會寫明這一點。驗證需要簽發方的密鑰或公鑰,應該在你的伺服器上進行 —— 不要因為能順利解碼就相信權杖裡的內容。

把 JWT 貼到這裡安全嗎?

權杖由這個分頁裡的 JavaScript 解碼,不會傳送到任何地方,也不會儲存 —— 打開開發者工具的 Network 面板,貼上時可以看到沒有任何請求。不過有效的權杖就像密碼,能用測試權杖或已過期的權杖就盡量用它們。

支援哪些 JWT 格式?

標準三段式 header.payload.signature 的簽章 JWT(JWS),包括沒有簽章的 alg "none" 權杖。可以直接貼上整行 "Authorization: Bearer …"、帶引號的字串或被折行的權杖 —— 多餘的部分會被移除並告訴你移除了什麼。加密權杖(JWE,五段)沒有接收方的金鑰無法讀取;貼上這種權杖時頁面會提示你。

為什麼這裡顯示 12345678901234567890,別的解碼器卻顯示 12345678901234567000?

因為權杖裡寫的就是這個。JavaScript 的數字只能精確表示大約 16 位,先解析 JSON 再重新輸出的解碼器會悄悄改掉長 ID、把 1.10 變成 1.1、丟掉重複的鍵。這裡顯示的是權杖本身的文字,只重新縮排,其他什麼都不改。

iat、nbf 和 exp 是什麼意思?

分別是簽發時間、生效時間和到期時間:自 1970 年 1 月 1 日(UTC)起的秒數。頁面會把它們顯示成你所在時區的日期,並即時倒數。如果數值是毫秒會被標出來,因為各種函式庫會把它當成幾千年後的日期。

相關教學

相關工具

💬 Bug、點子,或者就想打個招呼? 告訴 Milo 🐨 · [email protected]