ReSuMeYaDev

เครื่องมือนักพัฒนา

JWT Decoder — ถอดรหัส Header + Payload

Decode JWT token เพื่อดู header, payload และ claims (exp, iat, nbf) พร้อมคำนวณว่า token หมดอายุหรือยัง — ทำงานในเบราว์เซอร์ล้วน ไม่ส่ง token ไปเซิร์ฟเวอร์

  • ใช้งานฟรี
  • Decode JWT
  • ไม่ส่ง token ออก
  • รองรับมือถือ

คำจำกัดความ

JWT (JSON Web Token) คืออะไร?

JWT (JSON Web Token) เป็นมาตรฐาน (RFC 7519) สำหรับส่งข้อมูลระหว่างระบบแบบปลอดภัย โดย encode เป็น string 3 ส่วนคั่นด้วยจุด: header.payload.signature ทั้งหมดเป็น Base64URL

JWT นิยมใช้ในระบบ authentication แทน session cookie เพราะเป็น stateless — server ไม่ต้องเก็บ state ของ user สามารถ verify token จาก signature ได้ทันที

โครงสร้าง

โครงสร้าง 3 ส่วน

  • Header — metadata เช่น algorithm (HS256/RS256) และ token type (JWT)
  • Payload — ข้อมูลจริงที่ต้องการส่ง เช่น user id, role, expiration (เรียก claims)
  • Signature — HMAC หรือ RSA signature ของ header+payload เพื่อยืนยันว่าไม่ถูกแก้ไข

Claims

Claims ที่พบบ่อย

  • iss (issuer) — ผู้ออก token เช่น authentication service
  • sub (subject) — user id หรือ identifier ของเจ้าของ token
  • aud (audience) — ผู้รับที่ตั้งใจให้ใช้ token
  • exp (expiration) — Unix timestamp ที่ token หมดอายุ
  • iat (issued at) — Unix timestamp ที่ออก token
  • nbf (not before) — Unix timestamp ที่ token เริ่มใช้ได้

กรณีใช้งาน

กรณีใช้งาน

  • Debug token ที่ได้จาก authentication API เพื่อดูว่า payload มีข้อมูลอะไรบ้าง
  • ตรวจว่า token หมดอายุแล้วหรือยัง ดูค่า exp โดยไม่ต้องยิง API
  • ตรวจ claims เช่น role/permission ว่าถูกใส่มาตามที่ backend กำหนดหรือไม่
  • สอนทีมใหม่เรื่อง JWT โดยให้ decode ตัวอย่างจริงเพื่อดูโครงสร้าง
  • เช็ค audience หรือ issuer ว่าตรงกับระบบปลายทางก่อนส่งต่อ

ความปลอดภัย

ข้อควรรู้ด้านความปลอดภัย

  • JWT เป็น Base64URL ไม่ใช่การเข้ารหัส — ทุกคนถอดอ่าน payload ได้ อย่าใส่ข้อมูลลับใน payload
  • เครื่องมือนี้ decode เท่านั้น ไม่ได้ verify signature การยืนยันต้องใช้ secret/public key ที่ฝั่ง server
  • ตรวจ exp และ iat ก่อนเชื่อถือ token เพราะ decode ไม่ได้ตรวจว่าหมดอายุหรือยัง
  • อย่าใช้ algorithm = none ในระบบ production เพราะเป็นช่องโหว่ที่รู้จักกัน
  • เก็บ secret key ให้ปลอดภัย ถ้ารั่ว — attacker สร้าง JWT ปลอมได้ทั้งระบบ

FAQ

คำถามที่พบบ่อย

01 JWT ถูกเข้ารหัสหรือเปล่า?

ไม่ JWT มาตรฐานแค่ encode เป็น Base64URL (ไม่ใช่ encryption) ทุกคนที่ได้ token สามารถ decode ดู header และ payload ได้ — signature ใช้ตรวจว่าไม่ถูกแก้ไข ไม่ใช่ซ่อนข้อมูล ถ้าต้องการเข้ารหัสจริงใช้ JWE

02 เครื่องมือนี้ verify signature ได้ไหม?

ไม่ได้ เครื่องมือนี้ decode อย่างเดียว การ verify ต้องใช้ secret key (HS256) หรือ public key (RS256) ซึ่งไม่ควรวางใน frontend tool เพราะเป็นข้อมูลลับของ server

03 token ถูกส่งไปเซิร์ฟเวอร์ไหม?

ไม่ การ decode ทั้งหมดเกิดในเบราว์เซอร์ของคุณ ไม่มีการส่ง token ออก ปลอดภัยสำหรับการตรวจ production token

04 ดูได้ไหมว่า token หมดอายุเมื่อไหร่?

ได้ เครื่องมือแสดงค่า exp (expiration) เป็นทั้ง Unix timestamp และวันที่อ่านง่าย พร้อมคำนวณว่าเหลือเวลาเท่าไหร่

05 ทำไม signature บางที verify ไม่ผ่าน?

มักเกิดจาก secret key ไม่ตรง, algorithm ไม่ตรง, หรือ token ถูกแก้ไข ตรวจสอบ algorithm ใน header ให้ตรงกับ key type และค่า secret ที่ใช้

อ้างอิง

  1. RFC 7519 — JSON Web Token (JWT)
  2. RFC 7515 — JSON Web Signature (JWS)
  3. jwt.io — JWT Debugger

เครื่องมือนี้ decode JWT ในเบราว์เซอร์ล้วน ไม่ส่ง token ไปเซิร์ฟเวอร์ และไม่ verify signature อย่าเก็บข้อมูลลับใน JWT payload เพราะทุกคนถอดอ่านได้

นักพัฒนา

เครื่องมือคำนวณฟรีอื่น ๆ ที่คุณอาจสนใจ

ดูทั้งหมดในหมวดนี้

ต้องการเครื่องมือคำนวณสำหรับธุรกิจของคุณ?

ReSuMeYaDev รับพัฒนาเว็บไซต์ เครื่องมือคำนวณ และระบบภายในตามความต้องการ — Laravel, Vue, Nuxt, Go, Rust