Alat ini hanya mendekode header dan payload JWT — tidak memverifikasi tanda tangan. Token yang berhasil didekode tetap bisa kedaluwarsa, dipalsukan, atau tidak valid. Jangan pernah memercayai isi JWT tanpa verifikasi di sisi server.
Pemrosesan 100% lokal — token didekode sepenuhnya di browser Anda dan tidak pernah dikirim ke mana pun.
Diterbitkan pada (iat)-
Kedaluwarsa pada (exp)-
Tentang JWT (JSON Web Token)
JWT adalah token ringkas dan aman untuk URL yang terdiri dari tiga bagian berkode base64url dipisahkan titik: header yang menjelaskan algoritma tanda tangan, payload berisi claim (data), dan tanda tangan yang memverifikasi token tidak diubah. Alat ini mendekode header dan payload kembali menjadi JSON yang mudah dibaca.
Karena header dan payload hanya dikodekan base64url, bukan dienkripsi, siapa pun dapat mendekode dan membacanya tanpa kunci rahasia — ini memang disengaja. Tanda tangan JWT melindungi dari pemalsuan, bukan membuat isinya tidak terbaca, sehingga dekoder saja tidak pernah bisa memastikan token benar-benar valid.
Bagaimana cara mendekode JWT dan apa arti exp/iat?
JWT (JSON Web Token) adalah tiga bagian berenkode base64url yang digabung dengan titik: header.payload.signature. Untuk membacanya, pisahkan string berdasarkan titik, dekode base64url pada bagian header dan payload, lalu urai masing-masing sebagai JSON — tidak perlu kunci rahasia untuk mendekode, hanya untuk memverifikasi signature-nya. Klaim iat (issued at) dan exp (expiration) pada payload adalah Unix timestamp (detik sejak 1970-01-01), yang diubah alat ini menjadi tanggal yang mudah dibaca manusia.
Langkah mendekode JWT
- Tempel string JWT lengkap (ketiga bagian yang dipisahkan titik) ke kotak input.
- Alat ini memisahkan token berdasarkan titiknya dan mendekode base64url pada bagian pertama (header) dan bagian kedua (payload).
- Tiap bagian yang didekode diurai sebagai JSON dan ditampilkan rapi agar mudah dibaca.
- Jika payload berisi klaim iat atau exp, klaim itu diubah dari Unix timestamp menjadi tanggal dan waktu lokal yang mudah dibaca.
- Bagian ketiga (signature) dibiarkan apa adanya dan tidak pernah didekode atau diperiksa, karena memverifikasinya memerlukan kunci rahasia atau kunci publik penerbit, yang tidak dimiliki alat ini.
Struktur JWT dan konversi timestamp
JWT = base64url(header) + "." + base64url(payload) + "." + signature · Tanggal manusia = new Date(detik_exp_atau_iat x 1000)
- iat (issued at) = Unix timestamp, dalam detik, saat token dibuat
- exp (expiration) = Unix timestamp, dalam detik, setelahnya token dianggap kedaluwarsa
- base64url = varian aman-URL dari enkode base64 yang mengganti + dan / dengan - dan _ serta menghilangkan padding
Klaim payload JWT yang umum
| Klaim | Arti |
|---|
| iss | Issuer — pihak yang membuat dan menandatangani token |
| sub | Subject — identitas yang menjadi subjek token, seperti ID pengguna |
| aud | Audience — penerima yang dituju oleh token |
| iat | Issued at — kapan token dibuat (Unix timestamp) |
| exp | Expiration — kapan token berhenti berlaku (Unix timestamp) |
Pertanyaan yang sering diajukan
Apakah mendekode JWT membuktikan token itu valid atau tepercaya?
Tidak. Mendekode hanya mengungkap apa yang ada di dalam header dan payload; ini tidak mengatakan apa pun tentang apakah signature-nya asli, apakah token diterbitkan oleh sumber tepercaya, atau apakah token telah diubah. Hanya memverifikasi signature dengan kunci rahasia atau kunci publik yang benar yang bisa memastikan sebuah token otentik.
Mengapa siapa pun bisa membaca payload JWT saya tanpa kata sandi?
Header dan payload berenkode base64url, bukan terenkripsi, sehingga mendekodenya hanyalah transformasi teks yang bisa dibalik, bukan penghalang keamanan — ini memang disengaja, karena JWT dimaksudkan untuk bisa dibaca oleh pihak mana pun yang menerimanya. Karena itu, data sensitif tidak boleh pernah ditempatkan di payload JWT.
Apa yang terjadi jika timestamp exp sebuah token sudah lewat?
JWT dengan nilai exp di masa lalu umumnya dianggap kedaluwarsa oleh sistem yang memeriksanya, dan seharusnya ditolak, tetapi decoder ini hanya menampilkan tanggalnya — tidak membandingkannya dengan waktu saat ini atau menolak apa pun, karena pemeriksaan itu menjadi tanggung jawab server.
Mengapa token yang saya dekode menampilkan error?
Error biasanya berarti teks yang ditempel bukan JWT yang lengkap dan berformat benar — misalnya, kehilangan salah satu segmen yang dipisahkan titik, header atau payload-nya bukan base64url yang valid, atau teks hasil dekodenya bukan JSON yang valid. Periksa kembali apakah Anda menyalin seluruh token tanpa spasi atau baris baru tambahan.
Alat ini hanya mendekode dan menampilkan header dan payload; alat ini tidak pernah memverifikasi signature, memeriksa kedaluwarsa terhadap waktu saat ini, atau memvalidasi klaim apa pun, sehingga token yang berhasil didekode tidak sama dengan token yang terverifikasi dan tepercaya.
Sources: RFC 7519 (JSON Web Token)
Privasi dan keamanan
- Dihitung di peramban — Semua yang Anda ketik dihitung di perangkat Anda sendiri dan tidak dikirim ke server utilduck.
- Koneksi terenkripsi — Semua halaman disajikan melalui HTTPS sehingga isinya tidak dapat dibaca di jaringan.
- Tidak dibagikan ke pihak ketiga — Masukan Anda tidak diteruskan ke layanan analitik maupun periklanan.
- Tidak disimpan — Hasil tidak disimpan di server mana pun dan tidak perlu membuat akun.
Terakhir diperbarui: 2026-08-17