URL एन्कोडर और डिकोडर
एक मुफ़्त ऑनलाइन URL एन्कोडर और डिकोडर। टेक्स्ट या पूरे पते को परसेंट-एन्कोड करें, %XX क्रमों को वापस पढ़ने लायक टेक्स्ट में बदलें, और देखें कि किसी URL में असल में कौन-से पैरामीटर हैं। सब कुछ आपके ब्राउज़र में बदलता है — कुछ भी अपलोड नहीं होता।
एन्कोड या डिकोड करें
टेक्स्ट, URL या परसेंट-एन्कोडेड स्ट्रिंग पेस्ट करें। टाइप करते ही बदल जाता है, और कुछ भी अपलोड या सेव नहीं होता।
बदलने के लिए ऊपर कुछ पेस्ट करें।
अभी तक कुछ नहीं बदला गया।
आपका टेक्स्ट JavaScript से आपके ब्राउज़र में ही बदला जाता है। इसे कभी सर्वर पर नहीं भेजा जाता, लॉग नहीं किया जाता और सेव नहीं किया जाता।
URL में केवल कुछ ही अक्षर इस्तेमाल हो सकते हैं। बाकी सब — स्पेस, देवनागरी, इमोजी, या URL की बनावट तय करने वाले अक्षर जैसे & और ? — को % और हर UTF-8 बाइट के दो हेक्स अंकों के रूप में लिखना पड़ता है। यह टूल दोनों दिशाओं में बदलाव करता है और बनने वाले URL को हिस्सों में दिखाता है।
मुख्य फ़ायदे
आम उपयोग
इसका उपयोग कैसे करें
- 1.दिशा चुनें। एन्कोड करने के लिए टेक्स्ट → URL-एन्कोडेड या डिकोड करने के लिए URL-एन्कोडेड → टेक्स्ट चुनें।
- 2.तय करें कि क्या एन्कोड करना है। किसी एक मान, जैसे एक पैरामीटर, के लिए पूरा URL एन्कोड करें बंद रखें; ऐसे पूरे पते के लिए चालू करें जो काम करता रहना चाहिए।
- 3.इनपुट पेस्ट करें। टाइप करते ही बदल जाता है। अगर यह वेब पता है, तो URL के हिस्से होस्ट, पाथ और हर डिकोड किया गया पैरामीटर दिखाते हैं।
- 4.कॉपी करें या जाँचें। नतीजा कॉपी करें, या अदला-बदली दबाकर उसे उलटी दिशा में बदलें और पक्का करें कि मूल टेक्स्ट वापस मिलता है।
परसेंट-एन्कोडिंग, आसान भाषा में
नियम RFC 3986 और HTML फ़ॉर्म के स्पेसिफ़िकेशन से आते हैं। ज़्यादातर गड़बड़ियाँ तब होती हैं जब कोई नियम ग़लत जगह लगा दिया जाता है।
%20 स्पेस है, %2F स्लैश, और %E0%A4%A8 “न” के तीन UTF-8 बाइट्स।- . _ ~ को कभी एन्कोड करने की ज़रूरत नहीं होती। ऐसा करना मान्य है, पर बेकार है।: / ? # [ ] @ ! $ & ' ( ) * + , ; = URL की बनावट तय करते हैं। किसी मान के अंदर इन्हें एन्कोड करना ज़रूरी है, वरना URL का मतलब बदल जाता है।encodeURIComponent सभी आरक्षित अक्षरों को एन्कोड करता है और एक मान के लिए सही है। encodeURI उन्हें रहने देता है और पूरे पते के लिए सही है।%20 बन जाता है %2520। अगर %25 के बाद दो हेक्स अंक दिखें, तो पहले से एन्कोड मान को फिर एन्कोड किया गया है।मुख्य विशेषताएँ
- एन्कोड और डिकोड दोनों, जाँच के लिए अदला-बदली बटन के साथ
- दो मोड: एक मान (encodeURIComponent) या पूरा URL (encodeURI)
- HTML फ़ॉर्म की तरह स्पेस को + बनाने का विकल्प
- URL को स्कीम, होस्ट, पाथ, फ़्रैगमेंट और डिकोड किए गए पैरामीटर में बाँटता है
- चुपचाप फ़ेल होने के बजाय बताता है कि ग़लत % क्रम कहाँ है
- इनपुट दो बार एन्कोड हुआ लगे तो चेतावनी देता है
- पेज लोड होने के बाद ऑफ़लाइन काम करता है; न अकाउंट, न अपलोड
एन्कोडिंग, HTML या SQL के लिए एस्केपिंग नहीं है
परसेंट-एन्कोडिंग किसी मान को URL के अंदर सुरक्षित बनाती है। यह उसे HTML, JavaScript या डेटाबेस क्वेरी के अंदर सुरक्षित नहीं बनाती — हर एक के अपने एस्केपिंग नियम हैं। सही ढंग से एन्कोड किया गया मान भी सर्वर पर डिकोड होने के बाद इंजेक्शन हमला ला सकता है।
इसलिए मंज़िल के हिसाब से एन्कोड करें: URL के लिए परसेंट-एन्कोडिंग, पेज के लिए HTML एस्केपिंग, और SQL के लिए पैरामीटराइज़्ड क्वेरी। अगर डेटा URL में Base64 बनकर जाता है, तो URL-सेफ़ अक्षरमाला इस्तेमाल करें — हमारा Base64 एन्कोडर और डिकोडर दोनों करता है।
अक्सर पूछे जाने वाले प्रश्न
URL एन्कोडिंग क्या है?⌄
URL एन्कोडिंग, जिसे परसेंट-एन्कोडिंग भी कहते हैं, उन अक्षरों को जो URL में मान्य नहीं हैं, हर बाइट के लिए % और दो हेक्स अंकों के रूप में लिखती है। स्पेस बन जाता है %20। इससे कोई भी टेक्स्ट URL के अंदर बिना मतलब बदले जा सकता है।
encodeURI और encodeURIComponent में क्या अंतर है?⌄
encodeURIComponent URL में ख़ास मतलब वाले हर अक्षर को एन्कोड करता है, जिनमें / ? & और = भी हैं, इसलिए यह किसी एक मान जैसे पैरामीटर के लिए सही है। encodeURI इन्हें छोड़ देता है ताकि पूरा पता काम करता रहे। किसी मान पर encodeURI लगाने से उसके अंदर का & आपके पैरामीटर को दो हिस्सों में तोड़ देता है।
स्पेस %20 होना चाहिए या +?⌄
दोनों अलग-अलग जगह सही हैं। HTML फ़ॉर्म की क्वेरी स्ट्रिंग (application/x-www-form-urlencoded) में स्पेस + है। पाथ में और ज़्यादातर API में स्पेस %20 है और + असली प्लस है। शक हो तो %20 हमेशा सुरक्षित है।
मेरे URL में %2520 क्यों दिख रहा है?⌄
%25 ख़ुद % चिह्न का एन्कोडेड रूप है, इसलिए %2520 दूसरी बार एन्कोड किया गया %20 है। किसी ने पहले से एन्कोड मान को फिर एन्कोड कर दिया। मूल पाने के लिए दो बार डिकोड करें, फिर कोड ठीक करें ताकि वह सिर्फ़ एक बार एन्कोड करे।
क्या URL एन्कोडिंग एन्क्रिप्शन है?⌄
नहीं। यह पूरी तरह उलटी जा सकती है और इसमें कोई कुंजी नहीं होती, इसलिए कोई भी इसे डिकोड कर सकता है। इससे URL में पासवर्ड, टोकन या निजी डेटा कभी न छिपाएँ; URL लॉग, ब्राउज़र हिस्ट्री और Referer हेडर में पहुँच जाते हैं।