Trình giải mã JWT
Giải mã và kiểm tra phần đầu và payload của JSON Web Token.
Trình giải mã JWT — Dán một JWT để xem ngay phần đầu và payload đã giải mã của nó, với các yêu cầu thời gian iat, nbf và exp được hiển thị dưới dạng ngày dễ đọc cùng huy hiệu hết hạn/hợp lệ trực tiếp. Việc giải mã diễn ra hoàn toàn trong trình duyệt của bạn, nên các token không bao giờ được gửi đi đâu — nhưng hãy nhớ rằng chữ ký không được xác minh ở đây, vì vậy đừng bao giờ tin tưởng payload cho đến khi nó được xác thực ở phía máy chủ.
Trình giải mã JWT là gì?
JWT Decoder là một công cụ trực tuyến miễn phí giải mã và kiểm tra JSON Web Token (JWT) để các nhà phát triển có thể đọc nội dung của token truy cập, token ID hoặc token bearer mà không cần phỏng đoán. Dán một token theo định dạng chuẩn header.payload.signature và nó sẽ giải mã header và payload bằng base64url, in đẹp cả hai dưới dạng JSON đã định dạng, và hiển thị các yêu cầu thời gian iat, nbf và exp dưới dạng ngày dễ đọc cùng huy hiệu hết hạn/hợp lệ trực tiếp. Công cụ được xây dựng cho các kỹ sư backend và frontend, người kiểm thử QA và người tích hợp API đang gỡ lỗi các luồng xác thực, phiên OAuth/OIDC hoặc các vấn đề về hết hạn token. Lưu ý rằng đây là trình giải mã, không phải trình xác minh — nó không kiểm tra chữ ký, vì vậy chỉ dùng để kiểm tra.
Cách sử dụng Trình giải mã JWT
- Sao chép JWT của bạn (header.payload.signature) từ ứng dụng, công cụ dành cho nhà phát triển của trình duyệt, hoặc một header Authorization: Bearer.
- Dán nó vào vùng văn bản 'JWT token'.
- Đọc JSON đã giải mã, được in đẹp trong các phần Header và Payload bên dưới ô nhập.
- Nếu payload bao gồm iat, nbf hoặc exp, hãy kiểm tra các thẻ thống kê Issued (iat), Not before (nbf) và Expires (exp) cùng huy hiệu hết hạn/hợp lệ để xem vòng đời của token.
- Dùng nút Sao chép trên Header hoặc Payload để sao chép JSON đã định dạng, hoặc nhấp Xóa để đặt lại ô nhập.
Ví dụ
Giải mã một header JWT
Đầu vào
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig
Đầu ra
{
"alg": "HS256",
"typ": "JWT"
}Phần Header hiển thị JSON đã giải mã, được in đẹp của phân đoạn đầu tiên.
Đọc các yêu cầu hết hạn
Dán một token có payload chứa exp/iat/nbf. Công cụ chuyển đổi mỗi yêu cầu tính bằng giây epoch thành một ngày địa phương dễ đọc và hiển thị huy hiệu xanh 'hợp lệ' hoặc đỏ 'hết hạn' bên cạnh giá trị Expires (exp), được làm mới mỗi giây.
Token sai định dạng
Đầu vào
not-a-jwt
Đầu ra
Malformed token — expected header.payload.signature
Một chuỗi không có ít nhất một phân đoạn header và một phân đoạn payload (không có dấu chấm phân tách) sẽ kích hoạt lỗi này thay vì được giải mã.
Câu hỏi thường gặp
- Công cụ này có xác minh chữ ký JWT không?
- Không. Nó chỉ giải mã và hiển thị header và payload — nó không xác minh chữ ký. Đừng bao giờ tin tưởng payload đã giải mã cho đến khi chữ ký được xác thực ở phía máy chủ; hãy coi kết quả chỉ là để kiểm tra.
- Nó mong đợi định dạng token nào?
- Một JWT chuẩn với ít nhất phần header.payload (header.payload.signature). Nó tách tại các dấu chấm và giải mã hai phân đoạn đầu tiên bằng base64url, nên phần chữ ký bị bỏ qua trong quá trình giải mã.
- Nó hiển thị các yêu cầu thời gian nào?
- Nó hiển thị các yêu cầu giây epoch dạng số chuẩn iat (thời điểm phát hành), nbf (không trước), và exp (hết hạn), định dạng mỗi yêu cầu thành một ngày địa phương dễ đọc. Nó đánh dấu các token đã hết hạn và cảnh báo khi một token chưa hợp lệ vì nbf nằm trong tương lai. Các thẻ thống kê chỉ xuất hiện khi có ít nhất một trong các yêu cầu này.
- Token của tôi có được tải lên hay gửi đi đâu không?
- Không. Mọi thứ chạy hoàn toàn ở phía máy khách trong trình duyệt của bạn bằng cách dùng giải mã base64 và JSON tích hợp sẵn — token của bạn không bao giờ được tải lên bất kỳ máy chủ nào, điều này giúp việc kiểm tra các token truy cập nhạy cảm trở nên an toàn.
- Tại sao tôi gặp lỗi với một token trông có vẻ hợp lệ?
- Nếu đầu vào có ít hơn hai phân đoạn hoặc header/payload trống, bạn sẽ thấy thông báo 'Malformed token', và nếu một phân đoạn không phải là JSON được mã hóa base64url hợp lệ, bạn sẽ thấy lỗi 'invalid'. Hãy chắc chắn rằng bạn đã dán toàn bộ token mà không có khoảng trắng thừa hoặc dấu ngoặc kép bao quanh.
Công cụ liên quan
Mã hóa / giải mã Base32 / Base58
Mã hóa văn bản thành Base32 (RFC 4648) hoặc Base58 (bảng chữ cái Bitcoin) và giải mã cả hai trở lại văn bản, hoàn toàn an toàn với UTF-8 và toàn bộ trong trình duyệt của bạn.
Mã hóa / Giải mã Base64
Mã hóa hoặc giải mã Base64 (an toàn UTF-8) với bảng chữ cái URL-safe, đệm tùy chọn, ngắt dòng 64/76, đếm byte và ký tự trực tiếp, cùng chế độ xem byte dạng hex hoặc nhị phân.
Công cụ chuyển đổi kiểu chữ và đếm
Chuyển văn bản giữa UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case và hơn thế, đồng thời đếm ký tự, từ và dòng.
Trình định dạng và rút gọn mã
Làm đẹp hoặc rút gọn HTML, CSS và JavaScript ngay lập tức trong trình duyệt của bạn, với thụt lề 2 dấu cách, 4 dấu cách hoặc tab và nén JavaScript bằng Terser.