Langsung ke konten

Decode dan verifikasi JWT

Decode header dan klaim JSON Web Token, cek masa berlakunya, dan verifikasi tanda tangannya; token tidak pernah keluar dari browser Anda.

Didekode dan diverifikasi di tab ini — token dan kunci tidak pernah dikirim ke mana pun.

Header, klaim, dan masa berlaku akan muncul di sini setelah Anda menempel token.
Berjalan di browser Anda · tanpa unggahCara kerja

Cara menggunakan Decoder JWT

  1. 1

    Tempel token

    Tempel JWT dari header Authorization, cookie, atau penyimpanan aplikasi Anda; awalan “Bearer ” di depan akan diabaikan.

  2. 2

    Baca klaimnya

    Periksa tabel header dan payload, waktu exp, iat, dan nbf yang mudah dibaca, serta banner masa berlaku.

  3. 3

    Tambahkan kunci

    Masukkan secret HMAC, atau tempel kunci publik sebagai PEM, sertifikat, JWK, atau JWKS.

  4. 4

    Verifikasi tanda tangan

    Tekan Verifikasi tanda tangan untuk memastikan token ditandatangani dengan kunci tersebut dan tidak diubah.

Batas dan Pro

Gratis tanpa daftar dan tanpa batas jumlah token; verifikasi mendukung 13 algoritma (HS, RS, PS, dan ES pada 256, 384, dan 512 bit, plus EdDSA).

Pro menghilangkan iklan; dekode dan verifikasi sama di semua paket. Lihat Pro

Tentang Decoder JWT

JSON Web Token (JWT) terdiri dari tiga string Base64URL yang dipisahkan titik: header yang menyebutkan algoritma penandatanganan, payload berisi klaim, dan tanda tangan. Tempel satu token — dengan atau tanpa awalan “Bearer ” — lalu decoder menampilkan header dan payload sebagai tabel yang mudah dibaca atau JSON yang tertata rapi, mewarnai ketiga bagian token, dan menjelaskan kolom standar seperti iss, sub, aud, kid, dan scope.

Klaim waktu langsung dikonversi: exp, iat, nbf, dan auth_time tampil sebagai tanggal di zona waktu Anda, dalam UTC, dan sebagai waktu relatif (“kedaluwarsa dalam 2 jam”, “kedaluwarsa 3 hari lalu”). Banner menunjukkan sekilas apakah token sudah kedaluwarsa, belum berlaku, atau tanpa masa berlaku, dan memberi peringatan jika exp tampaknya dalam milidetik, bukan detik.

Dekode saja tidak membuktikan siapa penerbit token, jadi verifikator memeriksa tanda tangan dengan WebCrypto bawaan browser Anda. HS256, HS384, dan HS512 memerlukan secret bersama (teks biasa atau Base64). Algoritma RS, PS, dan ES pada 256, 384, dan 512 bit, serta EdDSA dengan Ed25519, memerlukan kunci publik. Kunci ini bisa ditempel sebagai kunci publik PEM, blok RSA PUBLIC KEY, sertifikat X.509, satu JWK, atau seluruh JWKS, yang kuncinya dipilih berdasarkan kid pada token.

Alat ini tidak dapat mendekripsi token JWE (jenis lima bagian) dan tidak mengambil URL JWKS; buka jwks_uri milik penerbit sendiri, lalu tempel JSON-nya.

Privasi

Token adalah kredensial pembawa, jadi halaman ini memperlakukannya demikian: dekode dan pemeriksaan tanda tangan berjalan di browser Anda dengan WebCrypto, dan token, secret, serta kunci tidak pernah dikirim ke server, dicatat, atau disimpan. Menutup atau memuat ulang tab akan menghapus semuanya.

Fitur

Waktu mudah dibaca

exp, iat, dan nbf di zona waktu Anda, dalam UTC, dan sebagai “dalam 2 jam” atau “3 hari lalu”.

Pemeriksaan tanda tangan sungguhan

HMAC, RSA, RSA-PSS, ECDSA, dan Ed25519 diverifikasi dengan WebCrypto terhadap kunci atau JWKS Anda.

Token tetap lokal

Tidak ada yang diunggah, jadi token produksi dapat diperiksa dengan aman.

Decoder JWT: pertanyaan yang sering diajukan

Apakah aman menempel token produksi di sini?
Token didekode dan diverifikasi oleh JavaScript yang berjalan di tab Anda, dan tidak ada permintaan yang membawanya, yang dapat Anda pastikan di panel jaringan browser. Meski begitu, token yang valid berfungsi seperti kata sandi hingga kedaluwarsa, jadi hindari menempel token aktif di situs yang tidak Anda percaya, dan gunakan token kedaluwarsa atau uji saat membagikan tangkapan layar.
Mengapa token yang sudah didekode tidak membuktikan apa pun?
Siapa pun bisa membuat header dan payload lalu mengenkodenya dengan Base64URL; dekode hanya membalikkan proses itu. Hanya tanda tangan yang mengikat token ke penerbitnya. Verifikasi dengan kunci publik penerbit atau secret bersama sebelum memercayai klaim apa pun, dan pastikan alg sesuai harapan server Anda, karena menerima “none” atau algoritma yang ditukar adalah celah keamanan klasik.
Di mana saya menemukan kunci publik untuk memverifikasi token RS256 atau ES256?
Penyedia identitas menerbitkan kuncinya sebagai JWK Set. Cari /.well-known/openid-configuration milik penerbit, buka jwks_uri yang tercantum, lalu tempel JSON-nya di sini; kunci yang kid-nya cocok dengan header token akan dipakai. Anda juga bisa menempel kunci publik PEM atau sertifikat X.509 milik penerbit.
Apa arti exp, iat, dan nbf?
Ketiganya adalah klaim NumericDate yang dihitung dalam detik sejak 1 Januari 1970 UTC. exp adalah saat token tidak berlaku lagi, iat saat token diterbitkan, dan nbf waktu paling awal token boleh diterima. Server biasanya mengizinkan selisih jam satu atau dua menit. Decoder menampilkan masing-masing sebagai tanggal lokal, stempel waktu UTC, dan waktu relatif.
Mengapa verifikasi gagal padahal secret HMAC sudah benar?
Penyebab umumnya adalah spasi yang ikut tersalin bersama secret, secret yang dienkode Base64 saat token ditandatangani, atau token yang dienkode ulang oleh alat yang mengubah byte header atau payload. Coba opsi “Secret dienkode Base64”. Perubahan apa pun pada dua bagian pertama, bahkan urutan kunci JSON yang berbeda, membuat tanda tangan tidak valid.