Apa itu Pendekode JWT?
JWT (JSON Web Token) adalah cara standar bagi API web modern untuk merepresentasikan klaim autentikasi dan otorisasi. Ini adalah token ringkas dan mandiri yang terdiri dari tiga bagian — header yang menjelaskan algoritma penandatanganan, payload yang membawa klaim sebenarnya (seperti ID pengguna, peran, dan kedaluwarsa), dan tanda tangan yang memungkinkan server penerima memverifikasi bahwa token tidak diubah.
Decoder ini membaca header dan payload secara instan sehingga Anda dapat men-debug masalah autentikasi, memeriksa klaim apa yang sebenarnya dikirim oleh API, atau mengecek kapan token kedaluwarsa — semua tanpa memerlukan backend, alat CLI, atau menempelkan token sensitif ke server pihak ketiga, karena semuanya berjalan secara lokal di browser Anda.
Kapan Menggunakan Kalkulator Ini
- Men-debug alasan API menolak token dengan memeriksa klaim dan waktu kedaluwarsanya
- Memeriksa waktu kedaluwarsa token selama investigasi dukungan atau tanggap insiden
- Memverifikasi bahwa penyedia SSO atau OAuth menerbitkan klaim yang diharapkan aplikasi Anda.
- Mempelajari struktur JWT untuk persiapan wawancara atau kursus keamanan
- Memeriksa token yang ditangkap dari dev tools browser atau log server untuk memahami isinya
- Membandingkan algoritma header antara token untuk men-debug kegagalan autentikasi ketidakcocokan algoritma
Langkah-langkah:
- Tempel JWT Anda ke kotak input, atau klik "Muat Contoh" untuk mencobanya.
- Header dan payload didekode secara otomatis saat Anda mengetik.
- Tinjau klaim seperti iss, sub, exp, dan iat dalam bentuk yang mudah dibaca.
- Klaim timestamp (exp, iat, nbf) secara otomatis dikonversi menjadi tanggal yang mudah dibaca.
Rumus
JWT = base64Url(header) + "." + base64Url(payload) + "." + base64Url(signature)
Mendekode: pisahkan berdasarkan ".", dekode Base64Url dua bagian pertama, parsing sebagai JSON.
Memverifikasi (tidak dilakukan di sini): HMACSHA256(base64Url(header) + "." + base64Url(payload), secret) === signature
Kasus Penggunaan
- Men-debug alasan API menolak token dengan memeriksa klaimnya
- Memeriksa waktu kedaluwarsa token selama investigasi dukungan
- Memverifikasi bahwa penyedia SSO atau OAuth menerbitkan klaim yang Anda harapkan
- Mempelajari struktur JWT untuk persiapan wawancara atau tugas kuliah
- Memeriksa dengan cepat token yang ditempel dari dev tools browser atau log server
Manfaat Utama
- Dekode JWT apa pun secara instan tanpa backend atau alat CLI
- Semuanya berjalan di sisi klien — token tidak pernah dikirim ke server
- Secara otomatis mengonversi klaim timestamp menjadi tanggal yang mudah dibaca
- Gratis, tanpa pendaftaran, berfungsi untuk JWT apa pun terlepas dari algoritmanya
Tips Profesional
- Selalu periksa 'exp' terlebih dahulu saat men-debug error "unauthorized" — token kedaluwarsa adalah penyebab paling umum
- Bandingkan 'alg' di header dengan yang diharapkan backend Anda untuk menangkap bug ketidakcocokan algoritma
- Jangan pernah mempercayai payload yang didekode sebagai bukti identitas tanpa memverifikasi tanda tangan di sisi server
- Gunakan token berumur pendek dengan refresh token daripada JWT berumur panjang untuk membatasi risiko jika token bocor
Kesalahan Umum yang Harus Dihindari
- Menganggap JWT yang didekode sebagai JWT yang terverifikasi — dekode hanya membaca konten, tidak mengonfirmasi keasliannya
- Menyimpan data sensitif (kata sandi, rahasia) di payload, lupa bahwa siapa pun dapat membacanya
- Menempelkan token produksi ke decoder online yang tidak tepercaya
- Mengacaukan 'exp' (kedaluwarsa) dengan 'iat' (waktu diterbitkan) saat men-debug masalah masa berlaku token
Istilah Kunci Dijelaskan
- Klaim: Sepotong informasi yang dinyatakan tentang subjek, seperti ID pengguna atau peran
- Header: Segmen pertama JWT, menentukan algoritma penandatanganan dan jenis token
- Payload: Segmen kedua JWT, berisi klaim sebenarnya
- Tanda Tangan: Segmen ketiga JWT, digunakan untuk memverifikasi bahwa token tidak diubah
Konsep Terkait
- Hash generator:
- UUID generator:
- Base64 encoder/decoder:
- JSON formatter:
- Pemeriksa kekuatan sandi:
Contoh
Token yang dimulai dengan eyJhbGciOiJIUzI1NiJ9 didekode menjadi header {"alg":"HS256","typ":"JWT"} — memberi tahu bahwa token ditandatangani dengan HMAC-SHA256.
Interpretasi Hasil Anda
Dekoder memisahkan JWT pada dua pemisah titik dan mendekode dua segmen pertama dengan Base64URL. Header memberi tahu algoritma penandatanganan (seperti HS256 atau RS256) dan jenis token. Payload berisi klaim sebenarnya — identitas pengguna, izin, dan cap waktu.
Klaim cap waktu (exp, iat, nbf) secara otomatis dikonversi dari epoch Unix ke tanggal yang dapat dibaca. Jika 'exp' menunjukkan tanggal di masa lalu, token sudah kedaluwarsa dan sebagian besar server akan menolaknya. Klaim 'sub' (subjek) biasanya berisi ID pengguna, dan 'iss' (penerbit) mengidentifikasi server yang membuat token.
Ingat bahwa mendekode bukanlah verifikasi. Bagian tanda tangan ditampilkan tetapi tidak dapat diverifikasi tanpa kunci rahasia atau publik. Payload yang didekode hanya bersifat informasional — jangan pernah mempercayainya sebagai bukti identitas tanpa verifikasi tanda tangan di sisi server.

