Dekoding Lokal Instan
Header dan payload didekode dan dicetak cantik sebagai JSON saat Anda menempelkan token — tanpa tombol untuk diklik.
Decode header, payload, dan signature JWT (JSON Web Token) secara instan. Lihat status klaim exp, iat, nbf. 100% sisi klien, tanpa unggahan, tanpa pelacakan.
Instant JWT decoding with claim status indicators and pretty-printed JSON — right in your browser. No uploads, no sign-up, no limits.
Salin JWT dan tempel ke kotak input di bagian atas.
Header (algoritma) dan payload (klaim) yang didekode muncul sebagai JSON yang dicetak cantik.
Klaim iat, nbf, dan exp disorot — token yang kedaluwarsa atau belum valid ditandai dengan merah atau kuning.
Gunakan tombol Salin untuk menyalin header atau payload JSON yang didekode.
Header dan payload didekode dan dicetak cantik sebagai JSON saat Anda menempelkan token — tanpa tombol untuk diklik.
Klaim `exp`, `nbf`, dan `iat` diurai dan dibandingkan dengan waktu saat ini, dengan status berwarna jelas untuk token yang kedaluwarsa, belum valid, dan aktif.
Mendekode dengan benar payload Base64URL yang berisi karakter non-ASCII, termasuk emoji dan teks internasional.
A JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. JWTs are commonly used for authentication and authorization in web applications. After a user logs in, the server issues a JWT containing claims about the user (such as their user ID and roles). The client includes this JWT in the Authorization header of subsequent requests, allowing the server to verify the user's identity without storing session state.
A JWT consists of three parts separated by dots: `header.payload.signature`. The header specifies the token type (JWT) and the signing algorithm (e.g., HS256, RS256). The payload contains the claims — statements about the user and additional metadata. The signature is used to verify that the token hasn't been tampered with. Only the header and payload are Base64URL-decoded to read the claims; the signature is a binary value used only for verification.
Decoding a JWT means Base64URL-decoding the header and payload to read the claims. This does not require any secret key — anyone can decode a JWT. Decoding tells you what the token claims, but it does not prove that the claims are true or that the token was issued by a trusted party.
Verifying a JWT means checking the signature using the secret key (for HMAC algorithms) or public key (for RSA/ECDSA algorithms). This confirms that the token was issued by the holder of the secret/private key and that it hasn't been modified since. Only verified tokens should be trusted for security decisions. Our tool decodes JWTs but does not verify them — for verification, use a library like jsonwebtoken (Node.js) or PyJWT (Python).
Registered claims (defined in RFC 7519): `sub` (subject — the user ID), `iss` (issuer), `aud` (audience), `exp` (expiration time), `nbf` (not before), `iat` (issued at), `jti` (JWT ID). Private claims: custom claims agreed upon by the parties, such as `role`, `permissions`, `email`, or `name`. Our tool displays all claims in the payload as formatted JSON.
Periksa klaim JWT yang dikeluarkan oleh server otentikasi Anda untuk mengonfirmasi ID pengguna, peran, atau kedaluwarsa.
Verifikasi dengan cepat bahwa JWT yang Anda hasilkan di server berisi payload yang diharapkan sebelum mengirimnya ke klien.
Lihat persis bagaimana JWT disusun — header, payload, signature — tanpa menulis kode apa pun.
Lihat secara instan apakah kesalahan 401 disebabkan oleh klaim `exp` yang kedaluwarsa atau klaim `nbf` yang belum valid.
A side-by-side comparison of popular JWT decoding tools.
| Fitur | NovaTools | JWT.io | JWT.ms |
|---|---|---|---|
| Privasi (tanpa unggah) | 100% lokal | Unggah ke server | Unggah ke server |
| Harga | Gratis tanpa batas | Gratis dengan iklan | Free |
| Status claim (exp/nbf/iat) | Color-coded | ||
| Pretty-printed JSON | |||
| UTF-8 safe decoding | Terbatas | ||
| Ramah mobile | Terbatas | Terbatas | |
| Berfungsi offline | Setelah halaman dimuat |
JWT.io and JWT.ms upload your token to their servers for decoding. Our tool decodes everything locally — your JWT never leaves your browser.
Key facts about JSON Web Tokens.
| Simbol / Kode | Deskripsi | Contoh |
|---|---|---|
header.payload.signature | Three Base64URL-encoded parts separated by dots. | eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.abc123 |
header | JSON object with algorithm (alg) and token type (typ). | {"alg":"HS256","typ":"JWT"} |
payload | JSON object with claims about the user and token. | {"sub":"123","exp":1735689600} |
signature | HMAC/RSA/ECDSA signature. Not decoded, only verified. | HMAC-SHA256(header.payload, secret) |
header.payload.signatureThree Base64URL-encoded parts separated by dots.
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.abc123headerJSON object with algorithm (alg) and token type (typ).
{"alg":"HS256","typ":"JWT"}payloadJSON object with claims about the user and token.
{"sub":"123","exp":1735689600}signatureHMAC/RSA/ECDSA signature. Not decoded, only verified.
HMAC-SHA256(header.payload, secret)| Simbol / Kode | Deskripsi | Contoh |
|---|---|---|
sub | Subjek — mengidentifikasi pengguna atau entitas. | "sub":"user-123" |
iss | Penerbit — mengidentifikasi siapa yang menerbitkan token. | "iss":"auth.example.com" |
aud | Audiens — penerima yang dituju dari token. | "aud":"api.example.com" |
exp | Expiration time (Unix timestamp in seconds). | "exp":1735689600 |
iat | Issued at (Unix timestamp in seconds). | "iat":1735603200 |
nbf | Not before — token is not valid before this time. | "nbf":1735603200 |
subSubjek — mengidentifikasi pengguna atau entitas.
"sub":"user-123"issPenerbit — mengidentifikasi siapa yang menerbitkan token.
"iss":"auth.example.com"audAudiens — penerima yang dituju dari token.
"aud":"api.example.com"expExpiration time (Unix timestamp in seconds).
"exp":1735689600iatIssued at (Unix timestamp in seconds).
"iat":1735603200nbfNot before — token is not valid before this time.
"nbf":1735603200| Simbol / Kode | Deskripsi | Contoh |
|---|---|---|
HS256 | HMAC with SHA-256. Symmetric — same secret for sign and verify. | {"alg":"HS256"} + shared secret |
RS256 | RSA signature with SHA-256. Asymmetric — private key signs, public key verifies. | {"alg":"RS256"} + RSA 2048-bit key pair |
ES256 | ECDSA with P-256 and SHA-256. Asymmetric — smaller signatures than RSA. | {"alg":"ES256"} + EC P-256 key pair |
none | Tanpa tanda tangan. TIDAK AMAN — jangan pernah gunakan di produksi. | {"alg":"none"} — CRITICAL vulnerability |
HS256HMAC with SHA-256. Symmetric — same secret for sign and verify.
{"alg":"HS256"} + shared secretRS256RSA signature with SHA-256. Asymmetric — private key signs, public key verifies.
{"alg":"RS256"} + RSA 2048-bit key pairES256ECDSA with P-256 and SHA-256. Asymmetric — smaller signatures than RSA.
{"alg":"ES256"} + EC P-256 key pairnoneTanpa tanda tangan. TIDAK AMAN — jangan pernah gunakan di produksi.
{"alg":"none"} — CRITICAL vulnerabilityAlat ini berjalan sepenuhnya di browser Anda. File Anda tidak diunggah ke server, tidak disimpan, dan tidak dianalisis.
Bahkan jika koneksi internet Anda terputus, file Anda tetap aman.
Pelajari cara mendekode token JWT, memahami header, payload, dan signature, serta arti klaim iat, nbf, dan exp. Bedakan dekode vs verifikasi. 100% sisi klien.
Pelajari apa itu Base64, kapan memakai Base64 standar atau URL-safe, dan cara encode/decode teks secara lokal di browser.
Temukan alat pengembang gratis terbaik yang meningkatkan produktivitas tanpa menghabiskan banyak uang. Dari pemformat kode hingga penguji API, alat-alat ini akan menyederhanakan alur kerja Anda.