Security🔒 المتصفح (محلي)متاح عبر API📴 يعمل بدون اتصالintermediate
فاكّ ترميز JWT
يفك ترميز ويحلل ترويسة (Header) وحمولة (Payload) رموز JSON Web Token ويعرض وقت الانتهاء.
البيانات تبقى في متصفحك ولا تُرسل لأي سيرفر
جاهز للاستخدام الفوريمعالجة فورية فائقة السرعة
النتيجة
—إيه اللي الأداة دي بتعمله؟
يفك ترميز ويحلل ترويسة (Header) وحمولة (Payload) رموز JSON Web Token ويعرض وقت الانتهاء.
إمتى أستخدمها؟
- معاينة صلاحيات وبيانات المستخدم (Claims) المخزنة داخل توكن الـ JWT.
- التحقق من وقت انتهاء صلاحية التوكن (exp) ووقت الإصدار (iat) بدقة.
- تشخيص أخطاء المصادقة واكتشاف أي نقص في الحقول الإلزامية.
مثال واقعي
الإدخال
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTYiLCJuYW1lIjoieWFzIiwiZXhwIjoxNzk5OTk5OTk5fQ...
الناتج
Header: {"alg":"HS256"}
Payload: {"sub":"123456","name":"yas","exp":"2027-01-01..."}يتم فك الترميز وتحويل الطوابع الزمنية إلى تواريخ مقروءة.
إدخال → معالجة → ناتج → الخطوة التالية
- الإدخال
- الصق توكن JWT الكامل في حقل الإدخال.
- المعالجة
- يقوم المحلل بتفكيك الأجزاء المفصولة بنقاط وفك ترميز Base64Url وعرض كائنات JSON.
- الناتج
- عرض منسق للترويسة والحمولة مع فحص حالة الصلاحية الزمنية.
- الخطوة التالية
- راجع البيانات وافحص الخوارزمية المستخدمة للتأكد من مطابقتها لنظامك.
أخطاء شائعة
- توقع أن فك الترميز يتحقق من صحة التوقيع دون إدخال المفتاح السري.
- تخزين بيانات حساسة (مثل كلمات المرور) داخل حمولة الـ JWT (البيانات غير مشفرة وقابلة للقراءة).
- تجاهل فحص انتهاء التوكن (Expired token) أثناء استكشاف الأخطاء.
يعني إيه النتيجة
استعراض كامل وشفاف لجميع البيانات المضمنة داخل التوكن وتحويل التواريخ لصيغ مقروءة.
الخصوصية والأمان
Your input is processed entirely in your browser and never sent to a YAS server.
API
Endpoint
POST https://yas.sh/api/v1/tools/jwt-decoder
Request Header
Content-Type: application/json
cURL
curl -X POST "https://yas.sh/api/v1/tools/jwt-decoder" \
-H "Content-Type: application/json" \
-d '{"input":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig"}'JavaScript
const res = await fetch("https://yas.sh/api/v1/tools/jwt-decoder", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"input": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig"
}),
});
const data = await res.json();Python
import requests
r = requests.post("https://yas.sh/api/v1/tools/jwt-decoder", json={"input":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.sig"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | The 3-segment token |
Success response
{ "slug": "jwt-decoder", "result": { "header": {...}, "payload": {...} }, "warning": "Decoded WITHOUT signature verification" }Decode a JWT header & payload (NO signature verification — explicitly flagged).
Error responses
400 VALIDATION_ERROR— invalid input or unsupported option.413 PAYLOAD_TOO_LARGE— input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED— rate limit exceeded (60 req/min).
Limits
- Maximum input: 64 KB per request.
- Rate limit: 60 requests/min per IP address.
- Authenticated accounts benefit from higher tier quotas.