टूल

मुफ़्त ऑनलाइन URL एन्कोडर और डिकोडर

टेक्स्ट को पर्सेंट-एन्कोडेड URL में एन्कोड करें या %20, %26 और किसी भी %XX सीक्वेंस को डिकोड करें — तुरंत आपके ब्राउज़र में।

0 chars
कॉपी हो गया!
0 chars

एन्कोडिंग संदर्भ उदाहरण

इनपुट encodeURIComponent encodeURI
hello world hello%20world hello%20world
name=John&age=30 name%3DJohn%26age%3D30 name=John&age=30
https://example.com/path?q=hi https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhi https://example.com/path?q=hi
café résumé caf%C3%A9%20r%C3%A9sum%C3%A9 caf%C3%A9%20r%C3%A9sum%C3%A9
price: $9.99 (sale!) price%3A%20%249.99%20(sale!) price%3A%20%249.99%20(sale!)

URL एन्कोडिंग क्या है?

URL एन्कोडिंग (जिसे पर्सेंट-एन्कोडिंग भी कहा जाता है) उन वर्णों को बदलने की एक प्रक्रिया है जो URL में सुरक्षित नहीं हैं, उन्हें प्रतिशत चिह्न के बाद दो हेक्साडेसिमल अंकों में बदला जाता है। उदाहरण के लिए, एक स्पेस %20 बन जाता है, एक एम्परसैंड %26 बन जाता है, और एक इक्वल्स चिह्न %3D बन जाता है।

ब्राउज़र और सर्वर को इस एन्कोडिंग की आवश्यकता होती है क्योंकि URL में केवल सीमित ASCII वर्ण ही हो सकते हैं। इस सुरक्षित सेट से बाहर का कोई भी वर्ण — जिसमें स्पेस, उच्चारण चिह्न वाले अक्षर, चीनी वर्ण और विशेष प्रतीक शामिल हैं — URL में शामिल करने से पहले एन्कोड किया जाना चाहिए।

encodeURIComponent बनाम encodeURI

JavaScript URL एन्कोडिंग के लिए दो नेटिव फ़ंक्शन प्रदान करता है। सही फ़ंक्शन चुनना इस पर निर्भर करता है कि आप क्या एन्कोड कर रहे हैं।

encodeURIComponent()

व्यक्तिगत क्वेरी-स्ट्रिंग मानों के लिए उपयोग करें। यह अक्षरों, अंकों और - _ . ! ~ * ' ( ) को छोड़कर सब कुछ एन्कोड करता है। साथ ही / : ? # & = @ को भी एन्कोड करता है।

इनपुट: hello world & more
आउटपुट: hello%20world%20%26%20more

encodeURI()

पूरी URL स्ट्रिंग के लिए उपयोग करें। यह / : ? # & = @ जैसे संरचनात्मक वर्णों को सुरक्षित रखता है ताकि URL मान्य बना रहे।

इनपुट: https://site.com/path?q=hello world
आउटपुट: https://site.com/path?q=hello%20world

सामान्य URL एन्कोडिंग उपयोग के मामले

पर्सेंट-एन्कोडिंग आधुनिक वेब डेवलपमेंट और API में हर जगह दिखाई देती है।

खोज और क्वेरी पैरामीटर

उपयोगकर्ता द्वारा दिए गए खोज शब्दों को GET रिक्वेस्ट में जोड़ने से पहले एन्कोड करें ताकि विशेष वर्ण क्वेरी स्ट्रिंग को न तोड़ें।

डायनामिक वैल्यू के साथ API कॉल

REST और GraphQL API अक्सर पथ सेगमेंट या पैरामीटर में मानों को अस्पष्टता से बचने के लिए पर्सेंट-एन्कोडेड होना आवश्यक बनाते हैं।

OAuth और रीडायरेक्ट URL

OAuth 2.0 redirect_uri पैरामीटर को पूरी तरह एन्कोड किया जाना चाहिए ताकि प्राधिकरण सर्वर कॉलबैक पते को सही ढंग से पार्स कर सके।

गैर-ASCII स्लग

अरबी, चीनी, जापानी या उच्चारण चिह्न वाली लैटिन लिपियों में पेजों के लिए URL को अधिकतम ब्राउज़र और क्रॉलर संगतता के लिए पर्सेंट-एन्कोड किया जाना चाहिए।

HTML फ़ॉर्म GET सबमिशन

ब्राउज़र फ़ॉर्म फ़ील्ड को एक्शन URL में जोड़ने से पहले एन्कोड करते हैं। इस एन्कोडिंग को समझने से अप्रत्याशित %2B या %20 सीक्वेंस को डीबग करने में मदद मिलती है।

अक्सर पूछे जाने वाले प्रश्न

%20 स्पेस का पर्सेंट-एन्कोडेड रूप है जिसका उपयोग encodeURIComponent और encodeURI दोनों करते हैं। + चिह्न केवल application/x-www-form-urlencoded फ़ॉर्मेट (HTML फ़ॉर्म GET सबमिशन) में स्पेस को दर्शाता है। यह टूल दोनों को डिकोड करता है: डिकोड मोड में %20 और + दोनों को स्पेस माना जाता है।

क्वेरी स्ट्रिंग के अंदर व्यक्तिगत पैरामीटर मानों के लिए encodeURIComponent का उपयोग करें — उदाहरण के लिए, ?q=hello+world में खोज शब्द। जब आपको पूरी URL को उसकी संरचना तोड़े बिना एन्कोड करने की आवश्यकता हो तो encodeURI का उपयोग करें: encodeURI /, ?, #, &, =, @ और : को सुरक्षित रखता है ताकि URL मान्य बना रहे।

हाँ। यह टूल पाए गए सभी मान्य %XX सीक्वेंस को डिकोड करने का प्रयास करता है और किसी भी अमान्य या अज्ञात सीक्वेंस को यथावत छोड़ देता है, साथ ही एक चेतावनी दिखाता है। यह उन URL को डीबग करने के लिए उपयोगी है जो केवल आंशिक रूप से एन्कोड किए गए थे।

नहीं। URL एन्कोडिंग (पर्सेंट-एन्कोडिंग) असुरक्षित वर्णों को %XX सीक्वेंस में बदलती है ताकि वे URL में सुरक्षित रूप से दिखाई दे सकें। Base64 एन्कोडिंग बाइनरी डेटा को एक प्रिंट करने योग्य ASCII स्ट्रिंग में बदलती है। दोनों पूरी तरह से अलग उद्देश्यों की पूर्ति करते हैं और परस्पर विनिमेय नहीं हैं।

गोपनीयता

सभी एन्कोडिंग और डिकोडिंग नेटिव JavaScript फ़ंक्शन का उपयोग करके पूरी तरह आपके ब्राउज़र के अंदर होती है। आपका टेक्स्ट कभी भी हमारे सर्वर पर नहीं भेजा जाता, संग्रहीत नहीं किया जाता, या लॉग नहीं किया जाता। टैब बंद करते ही इनपुट का हर निशान मिट जाता है।