MUTools

Enkode / Dekode

JWT Decoder

JWT Decoder adalah alat yang menguraikan JWT (JSON Web Token) yang Anda tempel menjadi tiga bagian, yaitu header, payload, dan tanda tangan, lalu menampilkannya dalam format JSON yang mudah dibaca. Saat Anda memasukkan string "header.payload.tanda tangan" yang dipisahkan dengan tanda titik ".", hasil dekode ditampilkan secara real-time.

Tempel JWT untuk melihat hasil dekode di sini

JWT dan secret yang Anda masukkan diproses sepenuhnya di browser dan tidak dikirim ke server.

Apa itu alat JWT Decoder?

JWT Decoder adalah alat yang menguraikan JWT (JSON Web Token) yang Anda tempel menjadi tiga bagian, yaitu header, payload, dan tanda tangan, lalu menampilkannya dalam format JSON yang mudah dibaca. Saat Anda memasukkan string "header.payload.tanda tangan" yang dipisahkan dengan tanda titik ".", hasil dekode ditampilkan secara real-time.

Klaim standar (iat waktu penerbitan / exp masa berlaku / nbf waktu mulai) sulit dibaca jika tetap dalam bentuk waktu UNIX, sehingga dikonversi ke format seperti "25 Mei 2026 12:34" sesuai pengaturan bahasa Anda, dan disertai pula notasi relatif terhadap waktu sekarang (seperti "3 hari lagi" atau "2 jam yang lalu"). Jika exp sudah terlampaui akan ditandai "Kedaluwarsa", dan jika nbf masih di masa depan akan ditandai "Belum berlaku" sebagai peringatan, sehingga Anda dapat menilai sekilas apakah token yang sedang Anda debug masih valid.

Secara opsional, jika Anda memasukkan secret, Anda dapat memverifikasi tanda tangan HMAC (HS256 / HS384 / HS512). Karena Anda dapat memastikan apakah tanda tangan cocok dengan secret langsung di browser, ini berguna untuk memeriksa keabsahan token yang diterbitkan oleh backend. Algoritma kunci publik seperti RSA / ECDSA / EdDSA (RS256 / ES256 dan sejenisnya) tidak termasuk dalam verifikasi, tetapi dekode header dan payload itu sendiri dapat dilakukan untuk algoritma apa pun.

JWT dan secret yang Anda masukkan diproses sepenuhnya di browser Anda dan tidak pernah dikirim ke server eksternal. Anda dapat menggunakannya dengan aman bahkan saat menangani access token produksi atau secret asli, tetapi pada PC bersama disarankan membersihkan kolom secret setelah verifikasi. Berjalan sepenuhnya di browser Anda.

Cara penggunaan

  1. Tempel JWT yang ingin Anda periksa (string "header.payload.tanda tangan" yang dipisahkan dengan tanda titik ".") ke kolom input. Baris baru dan spasi akan otomatis dihapus.
  2. Hasil dekode ditampilkan dalam tiga panel: header / payload / tanda tangan. Dengan tombol "Salin" di kanan atas tiap panel, Anda dapat menyalin JSON yang sudah diformat atau string tanda tangan.
  3. Jika klaim standar (iss / sub / aud / jti / iat / exp / nbf) tercakup, klaim tersebut ditampilkan dalam tabel "Klaim standar" di bagian bawah dengan tanggal-waktu yang mudah dibaca dan waktu relatif.
  4. Jika ingin memverifikasi tanda tangan, aktifkan "Verifikasi tanda tangan dengan secret" lalu masukkan secret HMAC (HS256 / HS384 / HS512). Hasil verifikasi ditampilkan sebagai badge seperti "Tanda tangan valid" atau "Tanda tangan tidak cocok".
  5. Jika ingin mencoba token lain, kosongkan kolom input dengan tombol "Bersihkan" lalu tempel ulang.

Skenario penggunaan

  • Saat ingin segera memeriksa isi access token (iss / sub / aud / klaim kustom) selama debugging API.
  • Saat ingin dengan cepat mengetahui apakah masa berlaku JWT yang diterima sudah habis dan kapan token itu diterbitkan.
  • Saat ingin mempelajari klaim apa saja yang tercakup dengan menelaah token contoh yang tercantum di dokumentasi sistem autentikasi.
  • Saat ingin memverifikasi langsung apakah token bertanda tangan HS256 yang diterbitkan backend telah ditandatangani dengan benar menggunakan secret yang dikonfigurasi.
  • Saat ingin memeriksa secara lokal isi ID token / access token OIDC / OAuth2 (aud / azp / scope, dan lain-lain).

Hal yang perlu diperhatikan

  • JWT maupun secret yang Anda masukkan tidak dikirim keluar. Seluruh pemrosesan berjalan sepenuhnya di dalam browser Anda.
  • Algoritma verifikasi tanda tangan yang didukung hanya HS256 / HS384 / HS512. Verifikasi algoritma kunci publik seperti RSA / ECDSA / EdDSA (RS256 / ES256 / EdDSA, dan lain-lain) tidak didukung, tetapi dekode header dan payload dapat dilakukan untuk algoritma apa pun.
  • Waktu pada klaim standar (iat / exp / nbf) diinterpretasikan sebagai waktu UNIX dalam satuan detik sesuai RFC 7519.
  • Penentuan kedaluwarsa / belum berlaku dilakukan berdasarkan waktu sistem perangkat Anda. Perhatikan bahwa jika waktu perangkat tidak tepat, penentuannya juga akan meleset.
  • JWE (JWT terenkripsi) tidak didukung. Alat ini hanya menangani format JWS (JWT bertanda tangan).
  • Saat dekode, karakter spasi pada input (spasi, tab, baris baru, dan lain-lain) otomatis dihapus sebelum diproses. Token yang terbungkus dalam beberapa baris pun boleh ditempel apa adanya.

Pertanyaan yang sering diajukan

Apakah JWT atau secret yang ditempel dikirim ke server?
Tidak. Dekode maupun verifikasi tanda tangan sepenuhnya berjalan di dalam browser Anda. Anda dapat menggunakannya dengan aman bahkan saat menangani access token atau secret produksi, tetapi pada PC bersama disarankan membersihkan kolom secret setelah verifikasi.
Apakah JWT yang ditandatangani dengan RSA atau ECDSA bisa diverifikasi?
Verifikasi pada alat ini hanya mendukung algoritma HMAC (HS256 / HS384 / HS512). Verifikasi algoritma kunci publik seperti RSA / ECDSA / EdDSA tidak termasuk, tetapi dekode header dan payload serta tampilan klaim standar dapat dilakukan untuk algoritma apa pun.
Bagaimana penentuan kedaluwarsa dilakukan?
Jika exp (masa berlaku) yang tercakup dalam payload lebih lampau daripada waktu sistem perangkat Anda, maka ditentukan sebagai "Kedaluwarsa". Sebaliknya, jika nbf (waktu mulai) masih di masa depan, akan ditampilkan "Belum berlaku". Perhatikan bahwa jika jam perangkat tidak tepat, penentuannya juga akan meleset.
Apakah JWT terenkripsi (JWE) juga didukung?
Tidak didukung. Alat ini hanya menangani JWS (JWT bertanda tangan, format "header.payload.tanda tangan"). Jika Anda memasukkan string berformat JWE, dekode akan gagal.
Bisakah isi bagian tanda tangan (segmen ketiga) ditampilkan?
Bagian tanda tangan pada dasarnya adalah nilai hash biner, sehingga bukan format yang dapat dibaca manusia. Alat ini menampilkannya agar dapat disalin sebagai string base64url apa adanya, dan hanya untuk kasus HMAC menyediakan cara untuk memasukkan secret guna melakukan verifikasi.