Lompat ke konten
SPCX Tools

JWT Encoder

Buat dan tanda tangani JSON Web Token (JWT) berbasis HMAC secara instan di browser Anda.

Berjalan secara lokal — file tidak pernah meninggalkan perangkat Anda

Memuat alat…

Cara menggunakan JWT Encoder

  1. 1Pilih algoritma penandatanganan HMAC yang Anda inginkan (HS256, HS384, atau HS512).
  2. 2Edit payload JSON. Gunakan tombol cepat untuk memasukkan waktu saat ini untuk klaim standar seperti iat dan exp.
  3. 3Masukkan secret key Anda. Jika sistem Anda menggunakan secret yang dienkode Base64, centang kotak Base64.
  4. 4Token yang ditandatangani akan diperbarui otomatis saat Anda mengetik. Klik Salin untuk mengambil JWT final.

Encoder JWT lokal yang aman

Encoder jwt ini memungkinkan developer untuk dengan cepat menyusun, mengubah, dan menandatangani JSON Web Token langsung di browser. Baik saat Anda sedang membangun alur autentikasi, menguji endpoint API, atau melakukan debug microservice, Anda dapat membuat token yang valid secara instan tanpa perlu menulis skrip khusus atau mengekspos kredensial Anda ke server pihak ketiga.

Karena alat ini mengandalkan Web Crypto API bawaan browser Anda, semua pemrosesan data dan penandatanganan kriptografi dilakukan sepenuhnya di perangkat Anda. Payload JSON dan secret key Anda tidak pernah diunggah, disimpan, atau dicatat. Pendekatan local-first ini membuatnya aman untuk menandatangani JWT secara online, bahkan saat menggunakan kredensial development atau staging yang sensitif.

Cara membuat token JWT

Untuk membuat token JWT, Anda memerlukan tiga komponen: header (yang menentukan algoritma), payload (yang berisi data Anda), dan kunci rahasia (yang mengamankan token).

Mulailah dengan memilih algoritma Anda. Alat ini berfungsi sebagai generator JWT HS256 yang andal, dan juga mendukung HS384 serta HS512. Ini adalah algoritma HMAC simetris, artinya kunci rahasia yang sama persis digunakan untuk menandatangani token dan memverifikasinya nanti. Semakin tinggi angkanya (misal, 512), semakin besar ukuran hash yang dihasilkan, sehingga memberikan keamanan kriptografi yang lebih kuat meskipun string token menjadi sedikit lebih panjang.

Selanjutnya, tentukan payload Anda pada kotak teks yang tersedia. Payload harus berupa JSON yang valid. Saat Anda mengedit JSON atau mengubah kunci rahasia, alat ini akan menghitung ulang signature secara real-time, serta memberikan pemberitahuan langsung jika terdapat kesalahan sintaks pada struktur JSON Anda. Setelah payload dan kunci rahasia diatur, token akhir siap disalin dan digunakan pada header Authorization atau cookie aplikasi Anda.

Kasus penggunaan umum untuk membuat token

Memiliki jwt generator yang andal sangat penting untuk pengembangan web modern. Developer sering menggunakan alat ini untuk berbagai skenario pengujian dan debugging:

Menguji Endpoint API: Saat menggunakan klien API seperti Postman atau Insomnia, Anda sering membutuhkan bearer token yang valid untuk mengakses rute yang dilindungi. Daripada menjalankan seluruh aplikasi frontend untuk login dan mengambil token, Anda bisa membuatnya secara manual di sini dengan ID pengguna dan role yang tepat sesuai kebutuhan.

Debugging Logika Autentikasi: Jika backend Anda menolak token, membuat token secara manual akan membantu mengisolasi masalah. Anda bisa memverifikasi apakah masalahnya berasal dari secret key yang salah, format payload yang keliru, atau algoritma signing yang tidak cocok.

Membuat Edge Case: Menguji bagaimana backend Anda menangani token yang kedaluwarsa, klaim yang hilang, atau role yang tidak sah sangat penting untuk keamanan. Anda bisa dengan mudah memanipulasi payload JSON di sini untuk membuat edge case tersebut dan memastikan server merespons dengan kode status HTTP yang benar.

Mengelola stempel waktu dan klaim

JSON Web Token menggunakan kolom khusus, yang dikenal sebagai klaim, untuk menyampaikan informasi tentang siklus hidup token dan pengguna yang diwakilinya. Klaim berbasis waktu yang paling umum adalah iat (Issued At) dan exp (Expiration Time). Kedua klaim ini memerlukan stempel waktu Unix, yaitu jumlah detik yang telah berlalu sejak 1 Januari 1970.

Menghitung stempel waktu ini secara manual bisa merepotkan saat pengujian. Untuk mempercepat alur kerja Anda, alat ini menyediakan tombol aksi cepat di atas editor payload.

  • Mengklik iat = now akan langsung memasukkan atau memperbarui kolom iat dengan waktu Unix saat ini.
  • Mengklik exp = +1h atau exp = +24h akan menghitung stempel waktu di masa depan dan memperbarui kolom exp.

Hal ini memastikan token yang Anda buat langsung valid dan tidak akan ditolak lebih awal oleh logika validasi waktu server Anda.

Menangani secret Base64

Kendala umum saat mencoba menandatangani JWT online adalah menangani encoding secret key. Banyak sistem backend dan tutorial menyarankan pembuatan array byte acak yang kuat untuk secret HMAC Anda dan menyimpannya sebagai string Base64 di environment variable.

Jika server Anda mendekode string Base64 ini menjadi raw byte sebelum menandatangani atau memverifikasi token, menempelkan string Base64 langsung ke generator standar akan menghasilkan signature yang tidak valid. Generator akan menganggap karakter Base64 sebagai teks biasa, sehingga menyebabkan ketidakcocokan.

Untuk mengatasinya, cukup centang kotak Secret is Base64 encoded. Tool ini akan mendekode string secret Anda ke raw byte aslinya sebelum menerapkan hash HMAC, memastikan signature yang dihasilkan benar-benar cocok dengan environment backend Anda.

Memahami struktur JWT

Saat Anda membuat token, output ditampilkan dalam format kode warna untuk membantu Anda memahami strukturnya. JWT standar terdiri dari tiga bagian yang dipisahkan oleh tanda titik (.):

  1. Header (Merah): Berisi metadata tentang token, terutama algoritma penandatanganan (misalnya, {"alg":"HS256","typ":"JWT"}). Bagian ini dibuat secara otomatis berdasarkan pilihan algoritma Anda dan dienkode dengan Base64-URL.
  2. Payload (Biru): Data JSON Anda yang sebenarnya, juga dienkode dengan Base64-URL. Bagian ini mudah dibaca oleh siapa saja yang menyadap token, itulah sebabnya Anda tidak boleh memasukkan kata sandi atau data yang sangat sensitif ke dalam payload.
  3. Signature (Hijau): Hash kriptografi dari header dan payload yang telah dienkode, ditandatangani menggunakan kunci rahasia Anda. Hal ini menjamin bahwa token tidak dimanipulasi selama pengiriman.

Jika Anda memiliki token dan ingin melihat isinya tanpa kunci rahasia, Anda dapat menempelkannya ke JWT Decoder kami untuk memeriksa header dan payload secara aman.

Pertanyaan yang sering diajukan

Algoritma apa saja yang didukung alat ini?
Alat ini mendukung algoritma berbasis HMAC: HS256 (HMAC dengan SHA-256), HS384, dan HS512. Ini adalah algoritma simetris, artinya secret key yang sama digunakan untuk menandatangani dan memverifikasi token.
Apakah secret key saya dikirim ke server?
Tidak. Semua proses penandatanganan kriptografi dilakukan secara lokal di browser Anda menggunakan Web Crypto API. Payload JSON dan secret key Anda tidak pernah meninggalkan perangkat, sehingga cara ini aman untuk membuat token pengujian.
Apa fungsi kotak centang Base64?
Di banyak framework backend, secret JWT disimpan sebagai string berenkode Base64, bukan plain text. Mencentang kotak ini akan mendekode input Anda menjadi raw byte sebelum menerapkan algoritma HMAC, sehingga signature yang dihasilkan sama persis dengan yang diharapkan server Anda.
Bagaimana cara kerja tombol waktu?
Tombol untuk iat (issued at) dan exp (expiration) menyisipkan Unix timestamp standar (jumlah detik sejak 1 Januari 1970) ke dalam payload JSON Anda. Ini memudahkan Anda agar tidak perlu mencari atau menghitung waktu epoch saat ini secara manual.
Mengapa token saya tidak valid saat diverifikasi di server?
Penyebab paling umum adalah secret key yang tidak cocok, algoritma yang salah, atau perbedaan cara secret dienkode. Pastikan Anda menggunakan string secret yang sama persis dan periksa apakah server Anda mengharuskan secret didekode dari Base64 sebelum proses penandatanganan (signing).