Giải Mã JWT
Dán một JWT (JSON Web Token) và ngay lập tức xem header, payload và signature thô đã được giải mã — hoàn toàn ngay trong trình duyệt của bạn.
🔒 Xử lý cục bộ ngay trên trình duyệt của bạn
Loading…
Cách sử dụng
- Dán một JWT đầy đủ — ba phân đoạn base64url được phân tách bởi dấu chấm — vào ô phía trên.
- Header và payload được giải mã và hiển thị định dạng đẹp ngay bên dưới ngay khi bạn dán, không cần nhấn nút nào.
- Phân đoạn signature thô được hiển thị nguyên trạng chỉ để tham khảo; nó không bao giờ được kiểm tra hay xác minh.
- Dùng các nút Sao chép cạnh mỗi bảng để sao chép riêng header, payload hoặc signature.
Tính năng
- Giải mã ngay lập tức cả header và payload thành JSON được định dạng, dễ đọc
- Xử lý đúng cách encoding base64url, kể cả khi thiếu padding
- Hiển thị phân đoạn signature thô để tham khảo, không cố gắng xác minh nó
- Thông báo lỗi rõ ràng ngay trong trang cho token bị lỗi định dạng, thay vì bị crash hoặc màn hình trắng
- Xử lý 100% phía client — token của bạn không bao giờ rời khỏi trình duyệt
Câu hỏi thường gặp
Công cụ này có xác minh signature của JWT không?
Không. Công cụ này chỉ giải mã header và payload để bạn có thể đọc chúng — nó không bao giờ xác minh signature. Việc xác minh signature đòi hỏi phải có secret (đối với thuật toán HMAC) hoặc public key (đối với thuật toán RSA/ECDSA), và công cụ này không bao giờ yêu cầu bạn dán bất kỳ thứ nào trong số đó. Một token giải mã thành công chỉ có nghĩa là nó đúng định dạng, không có nghĩa là nó xác thực hay chưa bị thay đổi.
Token của tôi có bị tải lên đâu không?
Không. Mọi thứ diễn ra cục bộ trong trình duyệt của bạn bằng cách sử dụng các API base64 và JSON có sẵn của JavaScript. Token của bạn không bao giờ được gửi đến máy chủ, điều này quan trọng vì JWT thường chứa các claim nhạy cảm.
Tại sao việc giải mã lại thất bại với lỗi 'not valid JSON'?
Điều này xảy ra khi một phân đoạn không phải là JWT chuẩn — ví dụ, nếu token bị cắt ngắn, được chỉnh sửa thủ công, hoặc thực chất không phải là JWT. Các token được mã hóa (JWE) cũng sẽ không giải mã được theo cách này, vì payload của chúng là ciphertext, không phải JSON.
Sự khác biệt giữa base64 và base64url là gì?
JWT sử dụng encoding base64url, một biến thể an toàn cho URL của base64, thay thế '+' bằng '-' và '/' bằng '_', và thường bỏ qua padding '=' ở cuối. Công cụ này chuyển đổi base64url trở lại base64 chuẩn trước khi giải mã, vì vậy nó vẫn hoạt động đúng ngay cả khi thiếu padding.
Tôi có thể giải mã một token đã hết hạn hoặc đã được sử dụng không?
Có. Việc giải mã chỉ đọc các claim đã có sẵn bên trong token — nó hoạt động như nhau dù token đã hết hạn, bị thu hồi, hay vẫn còn hiệu lực, vì không có điều nào trong số đó được kiểm tra ở đây.