URL Encode Online

URL में विशेष वर्णों को एन्कोड करें

उदाहरण देखें

सादा टेक्स्ट / URL

एन्कोड किया हुआ

स्थानीय रूप से चलता है · सीक्रेट पेस्ट करना सुरक्षित है
एन्कोड आउटपुट...
मोड:
यह भी आज़माएं:URL Decode Online

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

URL एन्कोडिंग (जिसे percent-encoding भी कहते हैं) एक तंत्र है जो Uniform Resource Identifier (URI) में जानकारी इस तरह एन्कोड करता है कि अंतिम स्ट्रिंग में केवल RFC 3986 द्वारा अनुमत वर्ण ही दिखाई दें। कोई भी वर्ण जो unreserved character (A–Z, a–z, 0–9, -, _, ., ~) नहीं है, उसे एक प्रतिशत चिह्न के बाद दो hexadecimal अंकों से बदल दिया जाता है जो उस वर्ण के UTF-8 byte मान को दर्शाते हैं — उदाहरण के लिए, स्पेस %20 बन जाती है और & %26 बन जाता है।

Percent-encoding इसलिए आवश्यक है क्योंकि URL केवल सीमित ASCII वर्णों का सेट ही रख सकते हैं। जब किसी URL में इस सेट से बाहर के वर्ण आते हैं — जैसे स्पेस, Unicode अक्षर, & = या / जैसे प्रतीक जो structural delimiters की बजाय literal values के रूप में उपयोग होते हैं — तो उन वर्णों को एन्कोड करना ज़रूरी होता है ताकि URL parser उन्हें गलत न समझे। यह query string values के लिए विशेष रूप से महत्वपूर्ण है, जहाँ unencoded & या = parameter structure को तोड़ देंगे।

यह टूल क्यों उपयोग करें?

Edge cases की जाँच के लिए code लिखे बिना, अपने text को दोनों modes में तुरंत encode होते देखें — live side-by-side comparison के साथ।

लाइव प्रीव्यू
आप टाइप करते ही output अपडेट होता है। विभिन्न inputs आज़माएं और तुरंत देखें कि कौन से वर्ण encode होते हैं और कौन से नहीं।
🔀
दो Modes
Page छोड़े बिना encodeURIComponent (values के लिए) और encodeURI (पूरी URLs के लिए) के बीच स्विच करें।
🔒
केवल Client-side
सारी encoding आपके browser में locally चलती है। संवेदनशील query parameters और tokens कभी किसी server तक नहीं पहुँचते।
📋
एक Click में Copy
एक बटन से encoded output को clipboard में copy करें। अपने code, terminal या browser address bar में directly paste करने के लिए तैयार।

इस ऑनलाइन URL एन्कोडर का उपयोग कैसे करें

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

  1. 1
    अपना टेक्स्ट या URL पेस्ट करें
    कोई भी स्ट्रिंग दर्ज करें — क्वेरी पैरामीटर वैल्यू, पूरा URL, पाथ सेगमेंट या JSON पेलोड। एन्कोडर इसे RFC 3986 के अनुसार एक-एक कैरेक्टर प्रोसेस करता है।
  2. 2
    एन्कोडिंग मोड चुनें
    अलग-अलग पैरामीटर वैल्यू एन्कोड करने के लिए encodeURIComponent चुनें (नॉन-रिज़र्व्ड कैरेक्टर को छोड़कर सब कुछ एन्कोड होता है)। ://? #&= जैसे स्ट्रक्चरल कैरेक्टर सुरक्षित रखते हुए पूरी URL एन्कोड करने के लिए encodeURI चुनें।
  3. 3
    एन्कोड किया आउटपुट कॉपी करें
    परसेंट-एन्कोडेड स्ट्रिंग तुरंत दिखाई देती है। परिणाम लेने और उसे सीधे अपने API कॉल, फॉर्म एक्शन या कॉन्फिग फ़ाइल में पेस्ट करने के लिए Copy पर क्लिक करें।
  4. 4
    ज़रूरत पड़ने पर वापस डिकोड करें
    कोई गलती हुई या परिणाम सत्यापित करना है? एन्कोडिंग पलटने के लिए एक क्लिक में URL Decoder टूल पर स्विच करें।

कौन से वर्ण एन्कोड होते हैं?

RFC 3986 URL वर्णों को दो श्रेणियों में विभाजित करता है: unreserved characters (कभी एन्कोड नहीं होते) और reserved characters (विशेष अर्थ रखते हैं — context के अनुसार एन्कोड या संरक्षित होते हैं)। नीचे दी गई तालिका दिखाती है कि दो JavaScript functions मुख्य वर्णों के साथ कैसा व्यवहार करते हैं:

वर्णURL में अर्थencodeURIComponentencodeURI
Spaceword separator%20%20
+plus sign%2B%2B
/path separator%2F/ (kept)
?query start%3F? (kept)
#fragment%23# (kept)
&param separator%26& (kept)
=param value%3D= (kept)
@auth separator%40@ (kept)
:scheme / port%3A: (kept)
%percent literal%25%25
~unreserved~ (kept)~ (kept)
-_.~unreserved setkept as-iskept as-is

encodeURIComponent बनाम encodeURI

JavaScript दो encoding functions प्रदान करता है जिनका व्यवहार बहुत भिन्न है। गलत फ़ंक्शन चुनना URL handling में सबसे आम bugs में से एक है:

encodeURIComponent()
Unreserved character set (A–Z a–z 0–9 - _ . ~) को छोड़कर सब कुछ एन्कोड करता है। यह individual query parameter values, path segments, या किसी भी ऐसे मान के लिए सही विकल्प है जो किसी URL के अंदर embed होगा। यह /, ?, #, & और सभी अन्य reserved characters को एन्कोड करेगा।
encodeURI()
Reserved characters (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) को unencoded छोड़कर पूरी URL structure को संरक्षित रखता है। इसका उपयोग केवल तब करें जब आपके पास पूरी URL हो जिसकी structure आप बनाए रखना चाहते हैं, और केवल उसमें non-ASCII या illegal characters को एन्कोड करना हो।

सामान्य उपयोग के मामले

क्वेरी स्ट्रिंग पैरामीटर
Parameters को URL में जोड़ने से पहले encode करें: name=John Doe की बजाय name=John%20Doe। Unencoded spaces और special characters URL parsers को तोड़ देंगे और अप्रत्याशित परिणाम देंगे।
API अनुरोध निर्माण
REST APIs को सही तरह से encoded query parameters की आवश्यकता होती है। encodeURIComponent से values encode करने से values में embedded & और = जैसे characters के ज़रिए extra parameters के injection को रोका जा सकता है।
फॉर्म डेटा सबमिशन
HTML forms डिफ़ॉल्ट रूप से application/x-www-form-urlencoded के रूप में data submit करते हैं। Percent-encoding समझने से debug करने में मदद मिलती है कि browser क्या भेजता है और server क्या प्राप्त करता है।
Special Characters वाले Path Segments
File names या identifiers जिनमें spaces, slashes या unicode characters हों, उन्हें URL path segments के रूप में उपयोग करते समय percent-encode करना आवश्यक है: /files/my%20document.pdf।
OAuth और Auth Tokens
OAuth 1.0a और कुछ authentication protocols के लिए आवश्यक है कि base string एक strict normalization algorithm का पालन करते हुए percent-encoded parameter names और values से बनी हो।
Deep Links और Share URLs
ऐसे shareable URLs generate करते समय जो user content (search queries, filter state, coordinates) embed करते हैं, टूटे links और URL manipulation के ज़रिए XSS को रोकने के लिए सभी dynamic values encode करें।

कोड उदाहरण

लोकप्रिय भाषाओं और environments में URL strings encode करने के तरीके:

JavaScript (browser / Node.js)
// Encode a query parameter value (most common case)
encodeURIComponent('hello world & more') // → "hello%20world%20%26%20more"

// Encode a complete URL (preserves ://?#& structure)
encodeURI('https://example.com/path?q=hello world') // → "https://example.com/path?q=hello%20world"

// Build a query string safely
const params = new URLSearchParams({ q: 'hello world', lang: 'en' })
const url = `https://example.com/search?${params}` // uses + for spaces
Python
from urllib.parse import quote, urlencode, quote_plus

# Encode a path segment or query value
quote('hello world & more')          # → 'hello%20world%20%26%20more'

# Encode for application/x-www-form-urlencoded (space → +)
quote_plus('hello world')            # → 'hello+world'

# Build a query string
urlencode({'q': 'hello world', 'lang': 'en'})  # → 'q=hello+world&lang=en'
Node.js (URL API)
const url = new URL('https://example.com/search')
url.searchParams.set('q', 'hello world & more')
url.searchParams.set('lang', 'en')
console.log(url.toString())
// → https://example.com/search?q=hello+world+%26+more&lang=en
CLI (curl / bash)
# curl automatically percent-encodes --data fields
curl -G "https://example.com/search" --data-urlencode "q=hello world & more"

# Manual encoding with Python one-liner
python3 -c "from urllib.parse import quote; print(quote('hello world'))"

URL Encoder बनाम विकल्प

कई टूल टेक्स्ट को परसेंट-एन्कोड कर सकते हैं, लेकिन वे नियंत्रण, गोपनीयता और संदर्भ में भिन्न होते हैं।

यह टूल
ब्राउज़र-आधारित, तत्काल, निजी। encodeURIComponent और encodeURI दोनों मोड सपोर्ट करता है। किसी भी सर्वर को कोई डेटा नहीं भेजा जाता। पूर्ण Unicode इनपुट को हैंडल करता है।
ब्राउज़र एड्रेस बार
ब्राउज़र URL पेस्ट करने पर उन्हें ऑटो-एन्कोड करते हैं, लेकिन केवल आंशिक रूप से — पठनीयता के लिए कई स्पेशल कैरेक्टर बरकरार रखे जाते हैं। पैरामीटर वैल्यू एन्कोड करने के लिए उपयुक्त नहीं।
URLSearchParams / urllib
JavaScript या Python में URL बनाने का सही प्रोग्रामेटिक तरीका। त्वरित एकबारगी एन्कोडिंग या यह जाँचने के लिए कि आपका कोड क्या आउटपुट देगा, इस टूल का उपयोग करें।

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

Spaces के लिए %20 और + में क्या अंतर है?
दोनों एक space represent करते हैं, लेकिन अलग-अलग contexts में। %20 space का standard percent-encoded representation है और URL में कहीं भी valid है। + sign केवल application/x-www-form-urlencoded format (HTML form submissions) में space represent करता है। URL path या raw query value में, + एक literal plus sign है, space नहीं। Maximum compatibility के लिए %20 का उपयोग करें।
encodeURIComponent बनाम encodeURI कब उपयोग करें?
Individual values (query parameters, path segments, hash fragments) के लिए encodeURIComponent का उपयोग करें। encodeURI का उपयोग केवल तब करें जब आपके पास complete URL हो और आप उसकी structure preserve करना चाहते हों। एक आम गलती है query value पर encodeURI का उपयोग करना — यह & और = को unencoded छोड़ देगा, query string को तोड़ देगा।
क्या URL encoding Unicode characters को handle करती है?
हाँ। Non-ASCII characters को पहले उनके UTF-8 byte representation में convert किया जाता है, फिर प्रत्येक byte को percent-encode किया जाता है। उदाहरण के लिए, euro sign (U+20AC) %E2%82%AC के रूप में encode होता है — इसके तीन UTF-8 bytes। encodeURIComponent और encodeURI दोनों इसे सभी modern browsers में सही तरीके से handle करते हैं।
क्या Double-encoding एक समस्या है?
हाँ। यदि आप already encoded string को encode करते हैं, %20 %2520 बन जाता है (% खुद %25 के रूप में encode होता है)। हमेशा raw values encode करें, previously encoded वाले नहीं। शक होने पर, पहले decode करें, फिर re-encode करें।
URLs में कौन से characters हमेशा safe हैं?
RFC 3986 द्वारा परिभाषित unreserved characters हमेशा safe हैं और कभी encoding की आवश्यकता नहीं है: uppercase A–Z, lowercase a–z, digits 0–9, hyphen (-), underscore (_), period (.) और tilde (~)। बाकी सब कुछ को percent-encode किया जाना चाहिए जब structural delimiter के बजाय value के रूप में उपयोग किया जाए।
कुछ URLs में uppercase hex (%2F) और कुछ में lowercase (%2f) क्यों होता है?
दोनों valid हैं। RFC 3986 निर्दिष्ट करता है कि percent-encoded sequences case-insensitive हैं, इसलिए %2F और %2f equivalent हैं। हालाँकि, वही RFC consistency के लिए uppercase hex digits का उपयोग करने की सलाह देता है। अधिकांश browsers और libraries uppercase produce करते हैं।
क्या यह टूल पूरी URL एन्कोड करता है या सिर्फ पैरामीटर?
दोनों। अलग-अलग क्वेरी पैरामीटर वैल्यू एन्कोड करने के लिए encodeURIComponent मोड उपयोग करें (सबसे सामान्य उपयोग)। ://、?、# और & जैसे स्ट्रक्चरल कैरेक्टर सुरक्षित रखते हुए पूरी URL एन्कोड करने के लिए encodeURI मोड उपयोग करें।
क्या एन्कोडिंग के लिए लंबाई सीमा है?
सर्वर-साइड कोई सीमा नहीं — टूल पूरी तरह आपके ब्राउज़र में चलता है। व्यावहारिक सीमाएँ आपके ब्राउज़र की मेमोरी पर निर्भर करती हैं। बहुत बड़े इनपुट या बैच प्रोसेसिंग के लिए स्क्रिप्ट में encodeURIComponent उपयोग करें।