JWT ٹوکن ڈی کوڈر

استعمال کا طریقہ 3 مراحل
  1. Encoded JWT ٹوکن پیسٹ کریں میں ٹوکن چسپاں کریں۔
  2. JWT payload ڈی کوڈ کریں دبائیں۔
  3. ہیڈر، دعوے اور میعاد پڑھیں۔ ڈی کوڈ کرنا دستخط کی تصدیق نہیں کرتا۔
ڈی کوڈ شدہ JWT payload

یہ ٹول کیسے کام کرتا ہے

JSON Web Token نقطوں سے جدا تین حصے ہیں: ایک سرخی جو الگورتھم کا نام بتاتی ہے، دعووں کا ایک پے لوڈ، اور ایک دستخط۔ پہلے دو base64url ہیں — ایک ایسی قسم جہاں ڈیش اور انڈر اسکور جمع اور سلیش کی جگہ آتے ہیں اور بھرائی ہٹا دی جاتی ہے — اس لیے وہ خفیہ نہیں بلکہ صرف انکوڈ شدہ ہیں۔ جس کے پاس بھی ٹوکن ہو وہ اس کا مواد پڑھ سکتا ہے، اور اس صورت کے بارے میں سمجھنے کی سب سے اہم بات یہی ہے۔

دونوں حصے ڈی کوڈ کر کے ترتیب شدہ JSON کے طور پر دکھائے جاتے ہیں، اور وقت والے دعوے عہد سے گزرے سیکنڈوں کے بجائے پڑھنے کے قابل تاریخوں میں بدل دیے جاتے ہیں، کیونکہ عموماً میعاد ہی وہ چیز ہوتی ہے جس کے لیے کوئی ڈی کوڈر کھولتا ہے۔ دستخط نہ ڈی کوڈ ہوتا ہے نہ جانچا جاتا ہے: اس کی تصدیق کے لیے وہ راز یا عوامی کلید درکار ہے جس سے ٹوکن پر دستخط ہوئے، اور اس کی جگہ آپ کا سرور ہے، کسی ویب صفحے میں چسپاں کرنا نہیں۔

ڈی کوڈ شدہ ٹوکن کیا بتاتا ہے اور کیا نہیں

  • ڈی کوڈ کرنا تصدیق کرنا نہیں: درست پڑھا جانے والا پے لوڈ اس بات کا کوئی ثبوت نہیں کہ ٹوکن اصلی ہے۔ جعلی ٹوکن بھی اتنی ہی صفائی سے ڈی کوڈ ہوتا ہے جتنا اصلی، اور صرف دستخط کی جانچ ہی ان میں فرق کرتی ہے۔
  • پے لوڈ میں کبھی راز نہ رکھیں: دعوے ہر اس شخص کے لیے پڑھنے کے قابل ہیں جسے ٹوکن مل جائے۔ پے لوڈ میں موجود اندرونی شناخت کنندے، کردار اور ای میل پتے اس کے حامل کے لیے عملاً عام ہیں۔
  • وقت والے دعوے سیکنڈ میں ہیں، ملی سیکنڈ میں نہیں: exp، iat اور nbf سب عہد سے گزرے سیکنڈوں میں ہیں، جو JavaScript کے Date کی توقع سے ایک ہزار گنا کے فرق پر ہے اور ان ٹوکنوں کی معمول کی وجہ ہے جو 1970 میں ختم ہوتے دکھتے ہیں۔
  • میعاد ختم ہو چکا ٹوکن بھی پڑھا جا سکتا ہے: میعاد اس چیز سے نافذ ہوتی ہے جو ٹوکن کی توثیق کرے، صورت سے نہیں۔ میعاد ختم شدہ ٹوکن پڑھ لینا یہ نہیں بتاتا کہ نظام نے اسے قبول کیا یا نہیں۔

Encoded, not encrypted

A JSON Web Token is three parts separated by full stops: a header naming the algorithm, a payload of claims, and a signature. The first two are base64url — ordinary base64 with dash and underscore standing in for plus and slash, and the padding dropped — which means they are encoded rather than encrypted. Anyone holding the token can read every claim inside it, which is the single fact that matters most about the format before using the [msm_tool slug="jwt-decoder"] on anything real.

Decoding a token is not the same as verifying it

A payload that decodes cleanly and reads correctly is not evidence that the token is genuine. A forged token, built by anyone who understands the format, decodes exactly as cleanly as a real one — only checking the signature against the key it was signed with distinguishes the two, and that check needs a secret or public key that belongs on a server and should never be pasted into any web page, including this one.

The time claims are seconds, not milliseconds

`exp`, `iat` and `nbf` are all expressed in seconds since the epoch, which is a factor of a thousand away from what JavaScript's own `Date` expects by default. Feeding one of these values into `Date` without converting it first produces a date somewhere in 1970 rather than the intended expiry, which is a routine and easy mistake to make when reading a token by hand.

An expired token still decodes perfectly well

Nothing about the format itself prevents an expired token from being read — expiry is enforced by whatever system validates the token during a real request, not by the token's own structure. Decoding one that has already expired shows exactly what it claims and says nothing about whether any system would still accept it.

Nothing belongs in a payload that is not already public

Because the payload is readable by anyone who obtains the token, internal identifiers, roles and email addresses placed inside one are effectively visible to whoever is holding it, not protected in any meaningful sense. Anything genuinely sensitive needs to live somewhere the token merely references, not inside the token itself.

A token is a credential, even one you are only reading

Decoding happens entirely in the browser and nothing is transmitted anywhere by this tool, but a live, valid token grants whatever access it was issued for to anyone holding it. Pasting one anywhere — here or elsewhere — is worth exactly the same caution as pasting a password.

اکثر پوچھے گئے سوالات

خاص طور پر JWT ٹوکن ڈی کوڈر کے بارے میں۔ اس زمرے سے متعلق عمومی سوالات کے جواب زمرے کے صفحے پر موجود ہیں۔

نہیں۔ یہ سرخی اور پے لوڈ ڈی کوڈ کرتا ہے۔ دستخط کی تصدیق کے لیے دستخطی کلید درکار ہے، جس کی جگہ آپ کا سرور ہے اور جسے کسی ویب صفحے میں کبھی چسپاں نہیں کرنا چاہیے۔
نہیں، صرف انکوڈ شدہ۔ پے لوڈ base64url عبارت ہے جسے ٹوکن رکھنے والا کوئی بھی پڑھ سکتا ہے، اسی لیے اس میں راز کبھی نہیں جانے چاہییں۔
تقریباً یقیناً base64url کی وجہ سے۔ JWT وہاں ڈیش اور انڈر اسکور استعمال کرتے ہیں جہاں معیاری base64 جمع اور سلیش رکھتا ہے، اور ان کی توقع نہ رکھنے والا ڈی کوڈر ٹوکن مسترد کر دیتا ہے۔
وقت والے دعوے عہد سے گزرے سیکنڈوں میں ہیں۔ انہیں ملی سیکنڈ سمجھنے سے تاریخ 1970 میں چلی جاتی ہے؛ یہاں انہیں درست طریقے سے بدلا جاتا ہے۔
یہ آپ کے براؤزر میں ڈی کوڈ ہوتا ہے اور کہیں نہیں بھیجا جاتا۔ اس کے باوجود زندہ ٹوکن ایک سند ہے — اسے کہیں بھی چسپاں کرتے ہوئے وہی احتیاط برتیں جو پاس ورڈ کے ساتھ برتتے ہیں۔

نئے ٹولز، خصوصیات اور کارکردگی بڑھانے کے مشوروں کی اطلاع پانے کے لیے سبسکرائب کریں۔