JWT एन्कोडर
ब्राउज़र में HS256, HS384 या HS512 से JWT बनाएँ और साइन करें। Header और payload JSON संपादित करें; claims का क्रम और kid जैसे फ़ील्ड बने रहते हैं।
आपका इनपुट और फ़ाइलें ब्राउज़र में ही रहते हैं
हेडर, पेलोड और साइनिंग
हेडर और पेलोड का JSON ठीक करें — साइन किया गया टोकन टाइप करते ही यहाँ दिखेगा।
इस पृष्ठ पर
API और authentication flows की टेस्टिंग के लिए साइन किया हुआ JSON Web Token बनाएँ: header और payload JSON संपादित करें, HS256, HS384 या HS512 चुनें, सीक्रेट डालें और टोकन कॉपी करें, जो हर कीस्ट्रोक पर अपडेट होता है।
विस्तृत कार्यक्षमता
Header और payload दोनों JSON object होने चाहिए; अमान्य JSON या array जैसा non-object अपने फ़ील्ड के नीचे चिह्नित होता है और टोकन नहीं बनता। JSON को compact किया जाता है (whitespace हटाकर) और बिना padding के base64url में एन्कोड किया जाता है, आपके claims के क्रम और kid या cty जैसे अतिरिक्त header फ़ील्ड बनाए रखते हुए। Header का alg सूची में चुने एल्गोरिदम से बदल दिया जाता है, या न होने पर सबसे पहले जोड़ा जाता है।
HMAC सिग्नेचर (SHA-256, SHA-384 या SHA-512) WebAssembly में कंपाइल किए गए Rust cryptography मॉड्यूल से बनता है; सीक्रेट UTF-8 टेक्स्ट के रूप में इस्तेमाल होता है। सिर्फ़ symmetric HMAC एल्गोरिदम उपलब्ध हैं — प्राइवेट की वाले RS256 या ES256 टोकन यहाँ नहीं बन सकते। खाली सीक्रेट से भी खाली key से साइन हुआ टोकन बनता है, जो सिर्फ़ प्रयोग के काम का है।
सीक्रेट और claims पेज में ही रहते हैं और सेव नहीं होते। टूल अपने-आप iat या exp नहीं जोड़ता: NumericDate मान (सेकंड में Unix time) payload में ख़ुद डालें।
व्यावहारिक उदाहरण
jwt.io टेस्ट वेक्टर: डिफ़ॉल्ट header {"alg":"HS256","typ":"JWT"} और payload {"sub":"1234567890","name":"John Doe","iat":1516239022} सीक्रेट your-256-bit-secret के साथ SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c पर ख़त्म होने वाला टोकन देते हैं, बिल्कुल jwt.io जैसा।
Key ID और समाप्ति: header {"alg":"HS256","typ":"JWT","kid":"key-2026"}, payload {"sub":"42","role":"admin","exp":1767225600} और एल्गोरिदम HS384 — एन्कोडेड header फ़ील्ड के क्रम सहित {"alg":"HS384","typ":"JWT","kid":"key-2026"} बनता है, और सिग्नेचर 64 अक्षरों का होता है।
Object नहीं: payload [1,2] पर फ़ील्ड के नीचे “JSON ऑब्जेक्ट होना चाहिए” दिखता है और टोकन हटा दिया जाता है।
इस उपकरण का उपयोग कैसे करें
header संपादित करें
हेडर में JSON बदलें — आपके verifier को ज़रूरत हो तो
kidजोड़ें;algएल्गोरिदम सूची से तय होता है।claims लिखें
अपने claims (
sub,role,exp…) को JSON object के रूप में पेलोड में डालें।एल्गोरिदम और सीक्रेट चुनें
एल्गोरिदम में HS256, HS384 या HS512 चुनें और सीक्रेट की में साझा सीक्रेट टाइप करें।
टोकन कॉपी करें
एन्कोडेड टोकन का टोकन हर बदलाव पर अपडेट होता है; उसे कॉपी करने के लिए टोकन कॉपी करें दबाएँ।
सुझाव और सर्वोत्तम प्रथाएं
- कम से कम hash जितना लंबा रैंडम सीक्रेट इस्तेमाल करें: HS256 के लिए 32 bytes, HS384 के लिए 48, HS512 के लिए 64।
exp,nbfऔरiatसेकंड में होते हैं, मिलीसेकंड में नहीं:1767225600, न कि1767225600000।- सीक्रेट का हर अक्षर गिना जाता है, अंत का स्पेस या लाइन ब्रेक भी।
- Payload सिर्फ़ base64url में एन्कोड होता है, एन्क्रिप्ट नहीं — टोकन रखने वाला कोई भी उसे पढ़ सकता है।
- नतीजे को उसी सीक्रेट के साथ JWT डिकोडर में जाँचें।