Alat

JWT Decoder Online Gratis

Decode dan periksa JSON Web Token langsung di browser Anda. Lihat header, payload, dan claim dengan tanggal kedaluwarsa yang mudah dibaca. Tidak ada yang pernah dikirim ke server.

Token Inspector

Algoritma
Tipe
Kedaluwarsa

Header

Payload

Signature

Verifikasi signature memerlukan secret key dan tidak didukung oleh alat ini.
Semua proses decoding terjadi secara lokal di browser Anda. Token Anda tidak pernah diunggah, disimpan, atau dicatat.

Apa itu JWT?

JSON Web Token (JWT, RFC 7519) adalah cara ringkas dan aman-URL untuk merepresentasikan claim antara dua pihak. Token ini terdiri dari tiga bagian yang di-encode Base64URL dan digabung dengan titik — header.payload.signature. Penggunaan paling umum adalah autentikasi stateless untuk REST API: setelah login, server menerbitkan token bertanda tangan yang dikirim klien pada setiap permintaan, sehingga server dapat memverifikasi identitas tanpa menyimpan status sesi.

Struktur JWT: Header, Payload, Signature

Header

Menyatakan algoritma penandatanganan (alg, misalnya HS256, RS256, ES256) dan tipe token (typ), yang hampir selalu JWT.

Payload

Membawa claim standar dan kustom. Hanya di-encode Base64URL, bukan dienkripsi — siapa pun dapat membacanya, jadi jangan pernah menyimpan data rahasia di sini.

Signature

Dihitung dengan menandatangani header dan payload yang telah di-encode menggunakan secret atau private key. Ini membuktikan integritas tetapi tidak dapat diverifikasi tanpa kunci tersebut.

Penjelasan Claim JWT yang Umum

Payload berisi claim — pernyataan tentang token tersebut. Claim terdaftar berikut ditentukan oleh standar JWT:

sub Subject — pihak utama yang menjadi subjek token, biasanya ID pengguna.
iss Issuer — mengidentifikasi siapa yang menerbitkan token.
aud Audience — penerima yang dituju oleh token.
exp Expiration Time — timestamp Unix setelah token harus ditolak.
iat Issued At — timestamp Unix saat token dibuat.
nbf Not Before — timestamp Unix sebelum token tidak boleh diterima.
jti JWT ID — pengidentifikasi unik, berguna untuk mencegah replay token.

Praktik Terbaik Keamanan JWT

Jangan pernah memasukkan data sensitif ke dalam payload — hanya di-encode, bukan dienkripsi, dan dapat dibaca siapa saja.
Selalu tetapkan claim exp dan jaga masa berlaku token tetap singkat untuk membatasi dampak jika token bocor.
Utamakan algoritma asimetris (RS256 atau ES256) untuk microservices agar layanan dapat memverifikasi tanpa berbagi secret.
Selalu validasi claim iss dan aud di sisi server, dan tolak token yang alg-nya diatur ke none.
Jangan pernah mengekspos token di URL atau file log; kirimkan melalui header Authorization dan simpan dengan aman.

Pertanyaan yang Sering Diajukan

Tidak. JWT standar ditandatangani, bukan dienkripsi. Header dan payload hanya di-encode Base64URL, artinya siapa pun yang memiliki token dapat men-decode dan membaca isinya. Signature hanya menjamin bahwa token tidak diubah — bukan menyembunyikan datanya. Jika Anda memerlukan kerahasiaan, gunakan JWE (JSON Web Encryption) atau jangan pernah menaruh data sensitif di payload.

Tidak. Memverifikasi signature JWT memerlukan secret key (untuk HS256) atau public key (untuk RS256/ES256), yang seharusnya hanya dimiliki oleh server penerbit. Alat ini sengaja men-decode token di sisi klien tanpa verifikasi sehingga tidak ada kunci yang pernah meninggalkan perangkat Anda. Selalu verifikasi signature di server Anda, jangan pernah di browser.

HS256 bersifat simetris: secret key yang sama menandatangani dan memverifikasi token, sehingga setiap pihak yang dapat memverifikasi juga dapat memalsukan token. RS256 bersifat asimetris: private key menandatangani dan public key yang terpisah memverifikasi. RS256 lebih disukai untuk sistem terdistribusi dan microservices karena Anda dapat membagikan public key secara bebas sambil menjaga private key tetap rahasia.

Claim exp adalah timestamp Unix dalam detik. Bug umum adalah memberikannya dalam milidetik (13 digit) alih-alih detik (10 digit), yang membuat waktu kedaluwarsa jauh di masa lalu atau masa depan. Perbedaan waktu (clock skew) antar server juga dapat menyebabkan kedaluwarsa prematur — berikan sedikit toleransi saat memvalidasi. Gunakan Token Inspector di atas untuk melihat tanggal kedaluwarsa yang mudah dibaca di samping nilai mentahnya.