Tan Phat Media

JWT Decoder - Giải Mã JWT Online

Giải mã JSON Web Token online

Paste JWT Token

JWT Decoder - Công Cụ Giải Mã JSON Web Token Online Miễn Phí Chuyên Nghiệp

Công cụ giải mã JWT (JSON Web Token) online miễn phí của Tấn Phát Digital dành cho developers. Decode và hiển thị 3 phần của JWT: Header (algorithm, type), Payload (claims, user data), Signature. Kiểm tra token hết hạn với exp claim - hiển thị thời gian còn lại hoặc đã hết hạn bao lâu. Parse các standard claims: iss (issuer), sub (subject), aud (audience), exp (expiration), nbf (not before), iat (issued at), jti (JWT ID). Format JSON đẹp với syntax highlighting, dễ đọc. Copy từng phần với một click. Xử lý 100% trên trình duyệt, không gửi token lên server, bảo mật tuyệt đối cho tokens nhạy cảm. Hữu ích cho debugging API, kiểm tra authentication, học về JWT.

Tính năng nổi bật

Giải mã JWT Header - xem algorithm (HS256, RS256, ES256...)
Giải mã JWT Payload - xem tất cả claims và user data
Hiển thị Signature (Base64 encoded)
Kiểm tra token hết hạn với exp claim
Hiển thị thời gian còn lại hoặc đã hết hạn
Parse standard claims: iss, sub, aud, exp, nbf, iat, jti
Convert Unix timestamp sang human-readable date
Format JSON đẹp với indentation
Syntax highlighting cho dễ đọc
Copy Header, Payload, Signature riêng biệt
Validate JWT format (3 parts, valid Base64)
Hiển thị lỗi nếu token không hợp lệ
Xử lý offline - token không rời khỏi browser
Hoàn toàn miễn phí, không giới hạn

JWT là gì và tại sao developers cần decode?

JWT (JSON Web Token) là chuẩn mở (RFC 7519) để truyền thông tin an toàn giữa các bên dưới dạng JSON object. JWT được sử dụng rộng rãi cho: Authentication - sau khi login, server trả về JWT chứa user info. Authorization - mỗi request gửi kèm JWT để server biết user có quyền gì. Information Exchange - truyền data đã được ký số. Developers cần decode JWT để: Debug authentication issues - xem token chứa gì, đã hết hạn chưa. Verify user claims - kiểm tra roles, permissions trong token. Understand API responses - xem server trả về những gì. Learn JWT structure - hiểu cách JWT hoạt động. Công cụ này giúp decode nhanh chóng mà không cần viết code.

Lợi ích khi sử dụng

  • Debug authentication nhanh chóng
  • Kiểm tra token expiration trực quan
  • Hiểu JWT structure và claims
  • Không cần viết code để decode
  • Bảo mật - token không gửi lên server
  • Copy claims để dùng trong code
  • Validate token format
  • Hỗ trợ mọi JWT algorithms

Cách giải mã JWT Token

  1. 1Copy JWT token từ API response, localStorage, hoặc cookies
  2. 2Paste token vào ô input (format: xxxxx.yyyyy.zzzzz)
  3. 3Tool tự động decode và hiển thị 3 phần
  4. 4Xem Header: algorithm (alg) và type (typ)
  5. 5Xem Payload: tất cả claims (iss, sub, exp, custom claims...)
  6. 6Kiểm tra exp: token còn hiệu lực hay đã hết hạn
  7. 7Xem Signature: chữ ký số (không thể verify client-side)
  8. 8Click Copy để sao chép từng phần nếu cần
  9. 9Nếu token invalid, xem error message để biết lỗi

Cấu trúc JWT: Header, Payload, Signature

JWT gồm 3 phần ngăn cách bởi dấu chấm (.). HEADER: Chứa metadata - 'alg' (algorithm: HS256, RS256, ES256) và 'typ' (type: JWT). Được Base64Url encode. PAYLOAD: Chứa claims - thông tin về entity (user) và metadata. Có 3 loại claims: Registered (iss, sub, aud, exp, nbf, iat, jti), Public (định nghĩa trong IANA), Private (custom claims). Cũng được Base64Url encode. SIGNATURE: Được tạo bằng cách ký (Header + Payload) với secret key (HS256) hoặc private key (RS256). Dùng để verify token không bị sửa đổi. Lưu ý: JWT chỉ được SIGNED, không được ENCRYPTED. Ai cũng có thể decode và đọc payload. Không đặt sensitive data (password, credit card) trong JWT.

Standard JWT Claims và ý nghĩa

iss (Issuer): Ai tạo token - thường là domain của auth server. sub (Subject): Token này về ai - thường là user ID. aud (Audience): Token dành cho ai - thường là API domain. exp (Expiration): Thời điểm hết hạn - Unix timestamp (giây). nbf (Not Before): Token chưa valid trước thời điểm này. iat (Issued At): Thời điểm tạo token. jti (JWT ID): Unique identifier của token - dùng để prevent replay attacks. Custom claims: Bạn có thể thêm bất kỳ claims nào như 'role', 'permissions', 'email', 'name'...

Câu hỏi thường gặp (FAQ)

JWT có 3 phần là gì?

Header: Chứa algorithm (HS256, RS256, ES256...) và type (JWT). Được Base64Url encode. Payload: Chứa claims - user data, expiration, issuer, custom data. Cũng được Base64Url encode. Signature: Chữ ký số tạo bằng cách ký (Header.Payload) với secret/private key. Dùng để verify token không bị tamper.

Decode JWT có an toàn không? Token có bị lộ không?

Tool này xử lý 100% trên browser, token KHÔNG được gửi lên server. Bạn có thể verify bằng Network tab trong DevTools. Tuy nhiên, lưu ý: JWT payload chỉ được Base64 encode, KHÔNG được encrypt. Ai có token đều có thể decode và đọc payload. Đây là by design - JWT dùng để verify, không phải để encrypt. Không bao giờ đặt sensitive data (password, credit card) trong JWT.

exp, iat, nbf trong JWT là gì?

exp (expiration): Unix timestamp (giây) - thời điểm token hết hạn. Sau thời điểm này, token không còn valid. iat (issued at): Unix timestamp - thời điểm token được tạo. Dùng để tính tuổi của token. nbf (not before): Unix timestamp - token chưa valid trước thời điểm này. Ít được dùng. Ví dụ: exp=1700000000 nghĩa là token hết hạn vào Nov 14, 2023 22:13:20 UTC.

Tại sao không verify được signature ở client-side?

Verify signature cần: Secret key (với HS256, HS384, HS512) - symmetric, cùng key để sign và verify. Public key (với RS256, ES256) - asymmetric, private key để sign, public key để verify. Client-side thường không có secret key (nếu có thì ai cũng biết secret). Public key có thể expose nhưng cần setup. Tool này chỉ DECODE (đọc payload), không VERIFY (kiểm tra signature). Server-side mới verify được.

HS256 và RS256 khác nhau thế nào?

HS256 (HMAC-SHA256): Symmetric - dùng cùng secret key để sign và verify. Nhanh hơn, đơn giản hơn. Phù hợp khi cùng service sign và verify. RS256 (RSA-SHA256): Asymmetric - private key để sign, public key để verify. Chậm hơn, phức tạp hơn. Phù hợp khi khác service verify (public key có thể share). Chọn RS256 khi cần share public key, HS256 cho internal services.

JWT có thể bị hack không?

JWT có thể bị tấn công nếu: Secret key yếu hoặc bị lộ - attacker có thể tạo fake tokens. Algorithm confusion - server accept 'none' algorithm. Token không có expiration - bị đánh cắp thì dùng mãi. Stored insecurely - XSS có thể đánh cắp token từ localStorage. Best practices: Dùng strong secret (256+ bits), set short expiration, store in httpOnly cookies, validate algorithm server-side.

Refresh token và access token khác nhau thế nào?

Access token: Short-lived (15 phút - 1 giờ), dùng để access resources, gửi trong mỗi API request. Refresh token: Long-lived (7-30 ngày), dùng để lấy access token mới khi hết hạn, stored securely (httpOnly cookie). Flow: Access token hết hạn → gửi refresh token → nhận access token mới. Nếu refresh token hết hạn → user phải login lại. Cả hai đều có thể là JWT.

Nên lưu JWT ở đâu: localStorage hay cookies?

localStorage: Dễ dùng với JavaScript, nhưng vulnerable với XSS attacks. Cookies (httpOnly, secure, sameSite): Không accessible bằng JavaScript nên safe hơn với XSS, nhưng cần handle CSRF. Recommendation: Dùng httpOnly cookies cho production. Nếu dùng localStorage, đảm bảo app không có XSS vulnerabilities. Refresh token luôn nên ở httpOnly cookie.

Từ khóa liên quan

jwt decodergiải mã jwtjson web token decoderjwt parserdecode jwt onlinejwt debuggerjwt viewerjwt token decoderparse jwtjwt claims viewer

Hợp tác ngay với Tấn Phát Digital

Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.

Công cụ Developer Tools liên quan

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook