ترميز وفك ترميز الروابط (URL Encode / Decode)

رمّز النصوص وفُك ترميز الروابط بنسبة مئوية بأوضاع RFC 3986 وencodeURIComponent وencodeURI والنماذج (+ للمسافة)، مع تحليل الرابط وتحويل النطاقات punycode.

مساحة العمل

الأوضاع تختلف في المحارف التي تبقى بلا ترميز؛ تفاصيلها في قسم «كيف تُحسب النتيجة؟».

تحويل النطاقات الدولية (IDN ↔ punycode)

كيف تُحسب النتيجة؟

يُحوَّل النص إلى بايتات UTF-8 ثم يُرمَّز كل بايت خارج المجموعة المسموحة إلى %XX بأحرف كبيرة. المجموعات: RFC 3986 يُبقي A-Z a-z 0-9 - . _ ~ فقط؛ encodeURIComponent يضيف ! * ' ( )؛ encodeURI يضيف فوقها محارف البنية ; , / ? : @ & = + $ #؛ النماذج (WHATWG) يُبقي A-Z a-z 0-9 * - . _ ويحوّل المسافة إلى +. عند الفك يُتحقق من أن البايتات UTF-8 صالحة، ويُنبَّه إن بقيت تسلسلات %XX (ترميز مزدوج). تُفكّ النطاقات الدولية بخوارزمية Punycode (RFC 3492)، ويُحوَّل الاتجاه المعاكس عبر محلّل URL في المتصفح.

حدود الأداة: الأداة لا تُحقّق قواعد IDNA2008 الكاملة (حالات مثل ß وأحرف الربط)، فيعتمد تحويل النطاق إلى ASCII على محلّل المتصفح. لا تفكّ % في وضع encodeURI للمحارف المحجوزة عمدًا. الأسرار في الروابط (رموز، كلمات مرور) لا تُرسل إلى أي خادم، لكن لا تلصقها في مكان عام.

أسئلة شائعة

ما الفرق بين encodeURI وencodeURIComponent؟

encodeURI يترك محارف بنية الرابط (/ ? & = #) لأنه يُرمّز رابطًا كاملًا، أما encodeURIComponent فيرمّزها لأنه مخصّص لقيمة داخل الرابط مثل معامل استعلام.

لماذا تظهر المسافة +؟

في ترميز النماذج (application/x-www-form-urlencoded) تُكتب المسافة +، أما في مسار الرابط فتكون %20. اختر الوضع المناسب.

ما الترميز المزدوج؟

أن يُرمَّز نص مرمَّز سابقًا مرة ثانية، فيتحول %20 إلى %2520. تنبّه الأداة إن بقيت تسلسلات %XX بعد الفك.

أحدث الأدوات

أدوات مجانية أُضيفت حديثًا — تعمل في متصفحك دون رفع بياناتك

كل الأدوات →

قارن نصين بالسطر أو الكلمة أو الحرف بخوارزمية Myers مع نسبة تشابه وتصدير patch موحّد

محلي

ولّد ملف robots.txt واختبر أي رابط ضد قواعده وفق RFC 9309 مع تحذيرات من الأخطاء الشائعة

محلي

حوّل العناوين إلى slug نظيف مع تحويل الحروف العربية ومعالجة التشكيل وإزالة الكلمات الشائعة وحد الطول

محلي