Developer JWT decoder
Baca isi header dan payload sebuah JSON Web Token, lihat waktu kedaluwarsanya, tanpa token itu pernah meninggalkan browser Anda.
Decoding is not verification. A JWT payload is only Base64-encoded, not encrypted, so anyone holding the token can read it. This tool deliberately does not check the signature, because doing so would need your secret key. Never paste a production token you would not also be comfortable printing.
Ready. Runs locally on your device.

File Anda tetap berada di perangkat Anda. Alat ini bekerja langsung di browser Anda, menggunakan perangkat Anda untuk memproses file Anda. Tidak ada yang dikirim ke server kami, dan kami tidak pernah menerima, menyimpan, atau melihat file maupun angka Anda.
Kutip
Kutip halaman ini
Reembun. (2026, 31 Juli). JWT decoder. https://reembun.com/id/jwt-decoder
Cara menggunakannya
Tempel tokennya
Token dipecah dan dibaca di dalam tab ini. Hal itu lebih penting di sini daripada di alat lain, karena token adalah kredensial yang hidup.
Baca header dan payloadnya
Keduanya ditampilkan sebagai JSON rapi, lengkap dengan algoritma penandatanganan dan nama klaim standarnya.
Periksa waktunya
Klaim iat, nbf, dan exp diterjemahkan dari epoch menjadi tanggal yang terbaca, dan token yang sudah kedaluwarsa ditandai.
Ingat batasnya
Membaca token bukan berarti memverifikasinya. Hanya server Anda, yang memegang kunci rahasia atau kunci publik, yang bisa memastikan tanda tangannya sah.
Anatomi sebuah JWT
Sebuah token terdiri dari tiga bagian yang dipisahkan titik:
header.payload.tanda-tangan
Ketiganya dikodekan dengan Base64 aman URL. Dua bagian pertama adalah JSON yang bisa dibaca siapa saja. Bagian ketiga adalah tanda tangan kriptografis atas dua bagian sebelumnya.
Header menyatakan algoritma dan tipe token:
{ "alg": "HS256", "typ": "JWT" }
Payload memuat klaim, yaitu pernyataan tentang pengguna dan tokennya:
{ "sub": "12345", "name": "Andi", "iat": 1785000000, "exp": 1785003600 }
Klaim baku
| Klaim | Arti |
|---|---|
| iss | Penerbit token |
| sub | Subjek, biasanya pengenal pengguna |
| aud | Audiens yang berhak memakai token |
| exp | Waktu kedaluwarsa, dalam detik Unix |
| nbf | Tidak berlaku sebelum waktu ini |
| iat | Waktu penerbitan |
| jti | Pengenal unik token |
Klaim waktu memakai detik Unix, bukan milidetik. Kesalahan mengalikan atau membagi 1000 membuat token yang seharusnya berlaku sejam terlihat berlaku ribuan tahun. Untuk memeriksa nilai mentahnya, gunakan konversi Unix timestamp.
Yang dijamin dan tidak dijamin tanda tangan
Tanda tangan menjamin bahwa isi token tidak diubah sejak diterbitkan, dan bahwa penerbitnya memegang kunci yang benar. Tanda tangan tidak menjamin isinya rahasia.
Konsekuensinya langsung dan sering terlupakan: jangan pernah menaruh data sensitif di dalam payload JWT. Nomor identitas, alamat lengkap, dan peran internal yang tidak boleh diketahui pengguna semuanya terbaca oleh siapa pun yang memegang token itu, termasuk oleh pengguna sendiri.
Algoritma yang umum
| Algoritma | Jenis | Catatan |
|---|---|---|
| HS256 | Simetris | Satu kunci rahasia bersama, cocok untuk satu layanan |
| RS256 | Asimetris | Kunci privat menandatangani, kunci publik memverifikasi |
| ES256 | Asimetris | Berbasis kurva eliptik, tanda tangan lebih pendek |
| none | Tidak ada | Jangan pernah diterima, dan sumber kerentanan klasik |
Baris terakhir adalah kerentanan yang terkenal. Server yang menerima algoritma none akan memercayai token apa pun yang dibuat siapa pun. Tetapkan algoritma yang diterima secara eksplisit di sisi server, jangan mengambilnya dari header token.
Saat menelusuri masalah
Urutan pemeriksaan yang biasanya paling cepat menemukan penyebab:
- Baca klaim exp dan bandingkan dengan waktu sekarang.
- Periksa klaim aud dan iss, apakah cocok dengan yang diharapkan penerima.
- Periksa klaim nbf bila ada.
- Periksa selisih jam antar server, terutama pada lingkungan yang tersebar.
- Terakhir, baru periksa tanda tangan dan kuncinya.
Privasi
Token yang Anda tempel adalah kredensial hidup. Halaman ini membacanya di dalam browser Anda, tidak mengirimkannya ke mana pun, dan tidak menyimpannya.
Pertanyaan umum
Apakah aman menempel token asli ke alat semacam ini?
Di halaman ini, ya, karena pembacaan berjalan sepenuhnya di dalam tab browser Anda dan tidak ada permintaan jaringan yang membawa token itu ke mana pun. Pada alat yang berjalan di server, tidak. Token akses adalah kredensial hidup, dan menempelkannya ke situs yang mengirimnya ke server sama saja dengan menyerahkan sesi Anda.
Apakah JWT terenkripsi?
Tidak, kecuali Anda memakai varian JWE yang jarang dipakai. JWT biasa hanya dikodekan Base64 aman URL, sehingga siapa pun yang memegang tokennya bisa membaca seluruh isinya. Tanda tangan pada JWT menjamin token tidak diubah, bukan menjamin isinya rahasia.
Apakah alat ini memeriksa tanda tangan token?
Tidak. Memeriksa tanda tangan membutuhkan kunci rahasia atau kunci publik penerbitnya, dan menempelkan kunci rahasia ke alat daring adalah kebiasaan yang buruk. Halaman ini membaca isi token, yang merupakan kebutuhan sebenarnya saat menelusuri masalah.
Apa arti klaim exp, iat, dan nbf?
exp adalah waktu kedaluwarsa, iat adalah waktu token diterbitkan, dan nbf adalah waktu paling awal token boleh dipakai. Ketiganya berupa detik Unix, bukan milidetik. Alat ini menerjemahkannya menjadi tanggal dan jam yang terbaca.
Kenapa token saya ditolak padahal belum kedaluwarsa?
Kemungkinan yang paling sering adalah selisih jam antara server penerbit dan server penerima. Selisih beberapa detik saja bisa membuat klaim nbf atau exp gagal. Kemungkinan lain adalah audiens atau penerbitnya tidak cocok dengan yang diharapkan server penerima.
Terakhir ditinjau
