JWT Çözücü
Ücretsiz JWT çözücümüzle JWT token'larını online çözün. header, payload, signature, son kullanma, algoritma ve claim'leri anında inceleyin. %100 tarayıcıda çalışır — token'ınız cihazınızdan ayrılmaz. Kayıt yok, izleme yok.
JWT nedir?
JSON Web Token, kısaca JWT (telaffuzu "jot"), iki taraf arasında claim taşımak için kullanılan kompakt, URL-güvenli bir token formatıdır. RFC 7519'da tanımlıdır ve OAuth 2.0 erişim token'ları, OpenID Connect ID token'ları, modern kimlik doğrulama sağlayıcılarındaki API anahtarları (Auth0, Okta, Clerk, Supabase, Firebase) ve mikroservis mimarilerindeki servis-arası token'lar için baskın kimlik bilgisi formatıdır.
"JSON Web Token (JWT), HTTP Authorization header'ları ve URI sorgu parametreleri gibi alanı kısıtlı ortamlarda kullanılmak üzere tasarlanmış, kompakt bir claim temsili formatıdır." — RFC 7519, Bölüm 1
Bir JWT, noktalarla birleştirilmiş üç adet Base64URL ile kodlanmış JSON nesnesidir: header.payload.signature. Header, token'ın nasıl imzalandığını tanımlar (alg claim'i — örneğin HS256 veya RS256 — ve genellikle "JWT" olan typ claim'i). Payload, claim'leri taşır: iss, sub, aud, exp, iat gibi kayıtlı claim'lerin yanı sıra issuer'ın ihtiyaç duyduğu özel claim'ler (role, scope, email, tenant ID). Signature ise header ve payload üzerinde issuer'ın gizli anahtarı veya özel anahtarıyla hesaplanan, alıcının değişiklikleri tespit etmesini sağlayan kriptografik bir kanıttır.
Kritik olarak, bir JWT kodlanmıştır, şifrelenmemiştir. Token'a sahip herkes payload'ı okuyabilir — çözüm yalnızca Base64URL ve JSON ayrıştırmadır. Güvenlik garantisi signature'dan gelir: bir saldırgan JWT'yi okuyabilir, ama imzalama anahtarı olmadan signature doğrulamasından geçecek farklı bir JWT üretemez. Bu yüzden JWT'leri ağ üzerinden geçirmek güvenlidir, ama içlerini sırlarla doldurmak güvensizdir.
Bir JWT çözücü size bir token'ın tam olarak ne içerdiğini — algoritma, claim'ler, son kullanma — signature'a dokunmadan gösterir. "Bu token'ın süresi doldu mu?", "Bu kullanıcının role'ü ne?", "Bu token'ı hangi issuer üretti?" ya da "Bu reddetmem gereken bir alg:none token'ı mı?" sorularını yanıtlamanın en hızlı yoludur. Bu araçtaki tüm çözüm tarayıcınızda yerel olarak çalıştığı için canlı bir üretim token'ını yapıştırmak güvenlidir.
JWT işi sıklıkla diğer geliştirici araçlarıyla birlikte yapılır. Hatalı biçimlendirilmiş bir token'ı ayıklarken Base64URL ile sarılmış bir segmenti çözmeniz, bir proxy'den yakalanan bir Authorization header'ını URL'den çözmeniz ya da exp claim'ini elle okunabilir bir tarihe dönüştürmeniz gerekebilir. JWT'lerin üretimde nasıl imzalandığı, doğrulandığı ve döndürüldüğüne dair daha derin bir gezi için Base64 temelleri rehberimize bakın — Base64URL, her JWT'nin üzerine inşa edildiği temeldir.
// Decode a JWT in the browser — header & payload only
function decodeJwt(token) {
const [h, p, s] = token.split('.');
const pad = (seg) => seg + '==='.slice((seg.length + 3) % 4);
const decode = (seg) => JSON.parse(
atob(pad(seg).replace(/-/g, '+').replace(/_/g, '/'))
);
return { header: decode(h), payload: decode(p), signature: s };
}
const { header, payload } = decodeJwt(token);
console.log(header); // → { alg: 'HS256', typ: 'JWT' }
console.log(payload); // → { sub: 'user_123', exp: 1999999999, ... }
// Expiration check
const expired = payload.exp * 1000 < Date.now(); Temel Özellikler
JWT'yi Anında Çözün
Yapıştırın ve JWT'nin gerçek zamanlı olarak çözülmesini izleyin — header, payload ve signature anında ayrıştırılır. Çöz düğmesi yok, sunucuya gidiş-dönüş yok.
Son Kullanma Tespiti
exp claim'ini otomatik okur ve token'ın süresi dolduğunda kırmızı bir rozet gösterir; tam son kullanma tarihini yerel saat diliminizde verir.
Algoritmadan Bağımsız
Her JWS algoritmasını çözer — HS256/384/512, RS256/384/512, PS256/384/512, ES256/384/512, EdDSA ve alg:none.
%100 Yerel
Çözüm yerel atob ve JSON.parse ile tarayıcınızda çalışır. Token'ınız asla yüklenmez — üretim kimlik bilgileri için güvenlidir.
Claim Bilinçli Görünüm
RFC 7519'daki kayıtlı claim'leri (iat, exp, nbf, iss, aud, sub, jti) öne çıkarır; kimlik doğrulama sorunlarını bir bakışta yakalarsınız.
Tek Tıkla Kopyalama
Header JSON'unu, payload JSON'unu veya ham signature'ı tek tıkla panonuza kopyalayın — hata raporları ve testler için ideal.
Örnekler
HS256 Token (Geçerli)
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyXzEyMyIsIm5hbWUiOiJBbGljZSIsInJvbGUiOiJhZG1pbiIsImlhdCI6MTcxNTAwMDAwMCwiZXhwIjoxOTk5OTk5OTk5fQ.4NhxPjwoZxPNuxG-2C5ugGxaUsUJ0QyskAz7Ymz5Sg0
{
"alg": "HS256",
"typ": "JWT"
}
{
"sub": "user_123",
"name": "Alice",
"role": "admin",
"iat": 1715000000,
"exp": 1999999999
} HMAC-SHA256 ile imzalanmış, subject, role ve gelecekte sona erecek bir exp içeren token — oturum kimlik doğrulamasında kullanılan en yaygın JWT yapısı.
RS256 Token (Süresi Dolmuş)
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImtleS0yMDI1LTAxIn0.eyJpc3MiOiJodHRwczovL2F1dGguZXhhbXBsZS5jb20iLCJhdWQiOiJhcGkuZXhhbXBsZS5jb20iLCJzdWIiOiI5MDA4NzE2NSIsImlhdCI6MTYwMDAwMDAwMCwiZXhwIjoxNjAwMDAzNjAwLCJzY29wZSI6InJlYWQ6dXNlciB3cml0ZTpwb3N0In0.signature_placeholder
{
"alg": "RS256",
"typ": "JWT",
"kid": "key-2025-01"
}
{
"iss": "https://auth.example.com",
"aud": "api.example.com",
"sub": "90087165",
"iat": 1600000000,
"exp": 1600003600,
"scope": "read:user write:post"
} RSA imzalı, OAuth tarzı bir erişim token'ı — header'daki kid (key ID) ve geçmişte kalmış exp claim'i token'ın çoktan süresinin dolduğunu gösteriyor.
OIDC ID Token
eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJzdWIiOiIxMTA1MDIyNTExNTU4OTkwNzY2Mzk1IiwiYXpwIjoiY2xpZW50LWlkIiwiYXVkIjoiY2xpZW50LWlkIiwiZW1haWwiOiJhbGljZUBleGFtcGxlLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJpYXQiOjE3MTUwMDAwMDAsImV4cCI6MTk5OTk5OTk5OSwibm9uY2UiOiJhYmMxMjMifQ.signature
{
"alg": "ES256",
"typ": "JWT"
}
{
"iss": "https://accounts.google.com",
"sub": "110502251155899076639",
"azp": "client-id",
"aud": "client-id",
"email": "alice@example.com",
"email_verified": true,
"iat": 1715000000,
"exp": 1999999999,
"nonce": "abc123"
} ECDSA imzalı, e-posta claim'leri ve tekrar saldırılarına karşı koruma sağlayan nonce içeren bir OpenID Connect ID token'ı.
Alg: none Token (İmzasız)
eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJkZWJ1Zy11c2VyIiwiaWF0IjoxNzE1MDAwMDAwfQ.
{
"alg": "none",
"typ": "JWT"
}
{
"sub": "debug-user",
"iat": 1715000000
} alg:none ile imzasız bir token. Üretimde bunu kabul etmek klasik bir JWT zafiyetidir — sunucu tarafında alg:none'ı her zaman reddedin.
Nasıl Kullanılır
- 1
Çözmek İçin JWT'nizi Yapıştırın
Tam JWT'yi — noktayla ayrılmış üç segmentin tümü dahil — giriş kutusuna yapıştırın. Çözücü tarayıcınızda anında çalışır; herhangi bir düğmeye tıklamanız gerekmez.
- 2
Çözülmüş Header, Payload ve Durumu Okuyun
Çözülen header'da algoritmayı ve token türünü, payload'da claim'leri, üst kısımdaki çiplerde ise son kullanma / düzenlenme bilgilerini okuyun. Süresi dolmuş bir token kırmızıyla işaretlenir.
- 3
Çözülmüş Çıktıyı Kopyalayın
Her panelin Kopyala düğmesini kullanarak çözülmüş header JSON'unu, payload JSON'unu veya ham signature'ı kopyalayın. Token'ınız hiçbir yere gönderilmedi — çözüm tarayıcınızda yerel olarak gerçekleşti.
Common Errors
alg:none'ı Kabul Etmek
İmzasız bir JWT herkes tarafından sahteleştirilebilir. Üretimde asla alg:none'a izin vermeyin — verify çağrınıza her zaman açık bir algoritma listesi geçirin.
jwt.verify(token, secret) // library default may allow 'none'
jwt.verify(token, secret, { algorithms: ['RS256'] }) exp Claim'inin Eksik Olması
exp'siz bir JWT sonsuza kadar yaşar. Bir token sızdırılırsa, doğal bir iptal noktası kalmaz. Token türüne uygun bir son kullanma her zaman ayarlayın.
{ "sub": "user_123", "role": "admin" } // no exp { "sub": "user_123", "role": "admin", "exp": 1715003600 } Sırları Payload'da Saklamak
JWT payload'ları şifrelenmemiştir — token'a sahip olan herkes onları okuyabilir. Bir JWT payload'ının içine asla parolaları, API anahtarlarını ya da kısaltılmamış PII'yi koymayın.
{ "sub": "user_123", "password": "hunter2" } { "sub": "user_123", "role": "admin" } // payload stays minimal Yaygın Kullanım Senaryoları
- Authorization Bearer Token'larını Çözün
- Authorization: Bearer header'larındaki JWT token'larını çözerek backend'inizin aldığı claim'leri, audience'ı ve son kullanmayı doğrulayın.
- OAuth 2.0 ve OIDC Token'larını Çözün
- OAuth 2.0 ve OpenID Connect entegrasyonu sırasında yetkilendirme sunucularından (Auth0, Okta, Google, Keycloak) dönen erişim token'larını ve ID token'larını çözün.
- Süresi Dolmuş Oturum Teşhisi
- Reddedilen bir token'ın süresinin dolup dolmadığını, yanlış audience kullanıp kullanmadığını ya da saat farkı sorunu olup olmadığını bir saniyede onaylayın.
- Anahtar Rotasyonu Kontrolleri
- Header'daki kid (key ID) değerini okuyarak JWKS rotasyonunuzun beklenen anahtarla imzalanmış token'lar dağıttığını doğrulayın.
- Güvenlik İncelemeleri
- Kod incelemesi ve sızma testlerinde alg:none ile imzalı, exp'i eksik ya da payload'ında PII sızdıran token'ları tespit edin.
- Mikroservis Token İncelemesi
- Bir servis ağı içinde servis-arası token'ları çözerek aşağı yöndeki çağrının hangi scope ve subject ile yetkilendirildiğini görün.
Teknik Ayrıntılar
- RFC 7519 Uyumlu
- RFC 7519 (JWT), RFC 7515 (JWS) ve RFC 7518 (JWA) ile uyumlu JWS token'larını işler — kayıtlı tüm algoritmalar çözüm için desteklenir.
- Base64URL Çözümü
- RFC 4648'de tanımlanan, URL-güvenli Base64 alfabesini kullanır (+ ve / yerine - ve _) ve eksik dolguya toleranslı ayrıştırma yapar.
- Tarayıcı Yerel, Sıfır Bağımlılık
- Tarayıcının atob, TextDecoder ve JSON.parse fonksiyonları üzerine kuruludur — dış kütüphane yok, ağ çağrısı yok, telemetri yok.
En İyi Uygulamalar
- Doğrulamadan Asla Güvenmeyin
- Çözücü claim'leri gösterir; onları kanıtlamaz. Herhangi bir claim'e güvenmeden önce signature'ı her zaman sunucu tarafında issuer'ın anahtarıyla doğrulayın.
- Üretimde alg:none'ı Reddedin
- JWT kütüphanenizi açık bir algoritma izin listesiyle yapılandırın. alg:none'ı asla kabul etmeyin ve anahtar rotasyonunda alg uyumsuzluklarına karşı şüpheci olun.
- Payload'ları Yalın Tutun
- JWT'ye yalnızca tanımlayıcıları ve kısa ömürlü claim'leri koyun; hacimli veriyi opak bir oturum kimliğinin arkasında tutun. Büyük token'lar her istekte bant genişliğine mal olur.
Sıkça Sorulan Sorular
Bir JWT token'ını online nasıl çözerim?
header.payload.signature) — yukarıdaki çözücüye yapıştırın. Çözüm tarayıcınızda anında gerçekleşir: header ve payload, Base64URL'den okunabilir JSON'a çözülür, signature ise ham bir karakter dizisi olarak görüntülenir. Bir durum satırı imzalama algoritmasını, düzenlenme zamanını ve son kullanma tarihini öne çıkarır; böylece süresi dolmuş bir token'ı bir bakışta fark edebilirsiniz. Bir JWT'yi elle çözmek için token'ı noktalardan ayırın, ilk iki segmenti Base64URL'den çözün ve JSON olarak ayrıştırın — token'a sahip olan herkes claim'leri okuyabilir, çünkü payload kodlanmıştır, şifrelenmemiştir. Bu çözücü üretim token'larıyla güvenle kullanılabilir, çünkü hiçbir şey cihazınızdan ayrılmaz: ağ isteği yok, kayıt yok, izleme yok. JWT (JSON Web Token) nedir?
Token'ım bu JWT çözücüde güvende mi?
Bir JWT çözücü nasıl çalışır?
Bu araç JWT signature'ını doğrular mı?
iat, exp, nbf, iss, aud, sub ve jti nedir?
JWT'imin süresi dolmuş — çözücü neden hâlâ çözüyor?
JWT, JWS ve JWE arasındaki fark nedir?
alg:none neden tehlikeli?
alg:none içeren bir JWT'nin signature'ı yoktur — herkes böyle bir token üretip herhangi bir kullanıcı gibi davranabilir. İlk JWT kütüphaneleri alg:none'ı varsayılan olarak kabul ediyordu; bu da saldırganların signature'ı silip alg'ı none'a ayarlayarak admin token'ı sahteciliği yaptığı, iyi bilinen bir kimlik doğrulama atlama sınıfına yol açtı. Olgun her JWT kütüphanesi artık alg:none'ı, açıkça izin verilmediği sürece reddeder ve siz de kimliği doğrulanmış istekler için bunu asla kabul etmemelisiniz. Bu çözücü size yine de bir alg:none token'ını gösterir, çünkü hata ayıklama sırasında incelemek meşrudur — ama üretimde gelen böyle bir token'ı her zaman düşmanca kabul edin. Bu JWT çözücü hangi algoritmaları destekler?
JWT'leri localStorage'da mı yoksa çerezde mi saklamalıyım?
Node.js, Python veya Go'da bir JWT'yi nasıl çözerim?
jsonwebtoken.decode(token), doğrulama için jsonwebtoken.verify(token, key). Python: okumak için PyJWT.decode(token, options={'verify_signature': False}), doğrulamak için bir anahtar geçirin. Go: salt okuma için jwt.ParseUnverified(token, claims), doğrulama için jwt.Parse(token, keyFunc). Hiçbir dilde üretim kodunda options={'verify_signature': False} ile doğrulama yapmayın — bu web aracının hata ayıklama amacıyla bilinçli olarak yaptığı şeydir ve yalnızca incelerken güvenlidir, kimlik doğrularken değil. Bir JWT'nin azami boyutu nedir?
Token'ımı yapıştırdım ve "Geçersiz JWT formatı" aldım — sorun ne?
header.payload.signature. Yaygın nedenler: (1) yanlışlıkla yalnızca payload segmentini kopyaladınız, (2) ortaya boşluk veya satır sonu yapıştı, (3) token taşınırken kesildi (terminal sarmalaması bunda yaygındır), (4) token aslında bir JWE'dir ve formatı header.encryptedKey.iv.ciphertext.tag (beş segment) şeklindedir, ya da (5) token URL ile kodlanmıştır ve önce URL'den çözmeniz gerekir. API'nizin döndürdüğü ham değeri kontrol edin — çoğu editör üzerine gelindiğinde görünmez karakterleri gösterir. Bir JWT'yi gizli anahtar olmadan çözebilir miyim?
JWT'im Postman'de çalışıyor ama backend reddediyor — nasıl hata ayıklarım?
RS256 için yapılandırılmış bir kütüphanede HS256 token'ı düşer. (4) kid — anahtar rotasyonu kullanıyorsanız, header'daki key ID JWKS'inizde mevcut mu? (5) signature — doğru gizli anahtarı/açık anahtarı yapıştırdınız mı? Bu çözücü; (1), (2), (3) ve (4)'ü header ve payload görünümlerinde öne çıkarır, böylece bunları hızla eleyebilirsiniz. İlgili Araçlar
Tüm araçları görüntüleyin →MD5 Özet Üretici ve Dosya Sağlama Aracı
Güvenlik Araçları
MD5, SHA-256, SHA-1 ve SHA-512 özetlerini online ücretsiz üretin. Tarayıcınızda metin veya dosya özeti alın, sağlama değerlerini doğrulayın ve sonuçları kopyalayın. Kayıt gerekmez.
Rastgele Şifre Üretici — Özelleştirilebilir ve Güvenli
Güvenlik Araçları
Anında güçlü rastgele şifreler üretin — ücretsiz, %100 tarayıcınızda. Uzunluk ve karakterleri özelleştirin, entropi analiziyle 50'ye kadar toplu üretim.
UUID Üretici ve Çözücü — v1, v4, v5, v7 Toplu Mod
Güvenlik Araçları
Ücretsiz UUID üretici — v1, v4, v5 ve v7 UUID'leri anında oluşturun. UUID'yi çözün ve doğrulayın. 50'ye kadar toplu üretim. Tamamen tarayıcıda.
Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal
Dönüştürme Araçları
Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.
Base64 Çözücü ve Kodlayıcı
Kodlama ve Biçimlendirme
Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.
Resimleri Çevrimiçi Sıkıştırın — JPEG, PNG ve WebP
Dönüştürme Araçları
JPEG, PNG ve WebP'yi %80'e kadar küçültün — tarayıcınızda, yükleme yok. 20 resim toplu, kalite ayarı, öncesi/sonrası karşılaştırma. Ücretsiz ve gizli.