Về công cụ này
JWTViewer là công cụ kiểm tra token không-tải-lên. Đa số trang giải mã online gửi token của bạn về backend — rủi ro thật sự, vì JWT còn hạn thường chính là thông tin phiên đăng nhập đang hoạt động. Ở đây, việc giải mã diễn ra ngay trong tab trình duyệt; tải trang xong, ngắt mạng vẫn dùng được.
Timestamp trong exp, iat, nbf tự động chuyển sang múi giờ của bạn, và banner trạng thái cho biết ngay token còn hạn, hết hạn hay chưa hiệu lực. Thêm công cụ miễn phí tại dec0de.dev — Base64, JSON formatter, UUID...
JSON Web Token gồm ba phần Base64url ngăn bằng dấu chấm: một header, một payload chứa các claim, và một chữ ký. Hai phần đầu chỉ được mã hoá dạng encode, không phải mã hoá bảo mật — nên ai cũng đọc được, đúng thứ mà bộ giải mã này làm. Chữ ký mới là thứ quan trọng cho sự tin cậy: nó chứng minh token do bên giữ secret hoặc khoá riêng phát hành và chưa bị sửa. Các claim chuẩn như iss, sub, aud, exp, iat được giải thích ngay tại chỗ, và kiểm tra HS256 giúp xác nhận chữ ký khi bạn có secret dùng chung.
Câu hỏi thường gặp
JWT có được mã hóa không?
Không. JWT chuẩn chỉ được mã hoá dạng Base64url, không phải mã hoá bảo mật, nên ai cũng đọc được header và payload. Đừng bao giờ để bí mật trong payload; chữ ký bảo vệ tính toàn vẹn, không phải tính bí mật.
Tôi kiểm tra chữ ký JWT ở đây được không?
Có. Với HS256, nhập secret dùng chung và công cụ tính lại HMAC. Với RS256/RS384/RS512/ES256/ES384/ES512, dán khoá công khai (PEM) của bên phát hành hoặc tải JWKS, công cụ sẽ kiểm tra bằng Web Crypto API — tất cả trong trình duyệt, không gửi đi đâu cả.
JWKS là gì và dùng nó ở đây thế nào?
JWKS ("JSON Web Key Set") là một tài liệu JSON công khai nhỏ — thường ở URL kiểu /.well-known/jwks.json — mà một identity provider (Auth0, Okta, Cognito, auth server của riêng bạn...) công bố để ai cũng kiểm tra được token mà nó ký bằng RS256/ES256. Nhập URL JWKS rồi bấm Tải về (hoặc dán trực tiếp JSON), công cụ sẽ liệt kê ID, thuật toán và loại của từng khoá, tự động khớp khoá có "kid" trùng với header của token bạn đã giải mã.
Vì sao JWT của tôi báo hết hạn?
Claim exp là timestamp Unix; nếu nó sớm hơn hiện tại thì token đã hết hạn. Công cụ đổi exp, iat, nbf sang giờ địa phương để bạn thấy chính xác lúc nào hết hạn.
Token của tôi có bị gửi lên server không?
Không. Việc giải mã và kiểm tra HS256 diễn ra hoàn toàn trong trình duyệt. Token và secret của bạn không bị tải lên — dán token production khi debug vẫn an toàn.