URL decoding (percent-decoding) URL encoding का उल्टा है: यह percent-encoded sequences को उनके original characters में वापस convert करता है। Percent sign के बाद दो hexadecimal digits (%XX) की हर occurrence को उस byte से replace किया जाता है जिसे XX represent करता है। कई consecutive encoded bytes को original UTF-8 character को reconstruct करने के लिए recombine किया जाता है।
URL decoding APIs, web scraping, log analysis और authentication flows के साथ काम करने वाले developers के लिए एक दैनिक कार्य है। Encoded URLs मशीनों के लिए readable हैं लेकिन इंसानों के लिए opaque हैं — उन्हें decode करने से real paths, search queries, redirect targets और parameter values तुरंत सामने आ जाती हैं जिसके लिए अन्यथा मानसिक hex-to-character conversion की आवश्यकता होती।
यह टूल क्यों उपयोग करें?
किसी भी percent-encoded URL या query string को जल्दी समझें — browser console की ज़रूरत नहीं, कुछ भी server पर नहीं भेजा जाता।
⚡
तत्काल डिकोडिंग
कोई भी encoded URL या parameter paste करें और तुरंत human-readable version देखें। API requests और log files debug करने के लिए बढ़िया।
🛡️
त्रुटि पुनर्प्राप्ति
ऐसे inputs के लिए legacy unescape() पर fallback करता है जिनमें old-style Latin-1 percent-encoded characters हैं जो decodeURIComponent से fail होंगे।
🔒
केवल Client-side
सारी decoding आपके browser में locally चलती है। Tokens, passwords और private query parameters आपका device कभी नहीं छोड़ते।
🔁
पूर्ण URL समर्थन
Complete URLs या individual parameter values decode करें। टूल standard %20 spaces और + signs दोनों को literal plus characters के रूप में handle करता है।
इस ऑनलाइन URL डिकोडर का उपयोग कैसे करें
कोई अकाउंट नहीं, कोई इंस्टॉलेशन नहीं। अपनी परसेंट-एन्कोडेड स्ट्रिंग इनपुट फ़ील्ड में पेस्ट करें और डिकोड किया परिणाम तुरंत दिखाई देगा। सब कुछ आपके ब्राउज़र में चलता है — आपका डेटा कभी भी आपके डिवाइस से बाहर नहीं जाता।
1
अपना एन्कोडेड URL या स्ट्रिंग पेस्ट करें
कोई भी परसेंट-एन्कोडेड स्ट्रिंग कॉपी करें — ब्राउज़र एड्रेस बार से URL, सर्वर लॉग का क्वेरी पैरामीटर, API रिस्पॉन्स या रीडायरेक्ट टार्गेट — और इनपुट फ़ील्ड में पेस्ट करें।
2
स्वचालित फ़ॉर्मेट पहचान
डिकोडर स्वचालित रूप से %XX परसेंट-एन्कोडिंग और + को स्पेस (application/x-www-form-urlencoded) दोनों को हैंडल करता है। एन्कोडिंग फ़ॉर्मेट मैन्युअल रूप से निर्दिष्ट करने की आवश्यकता नहीं।
3
डिकोड किया आउटपुट देखें
पठनीय टेक्स्ट तुरंत दिखाई देता है। यदि इनपुट में नेस्टेड एन्कोडिंग (डबल-एन्कोडेड स्ट्रिंग) थी, तो डिकोडर एक बार में एक परत हल करता है। गलत %XX सीक्वेंस के लिए त्रुटि दिखाई देती है।
4
कॉपी करें या पुनः एन्कोड करें
डिकोड की गई स्ट्रिंग लेने के लिए Copy पर क्लिक करें। इसे अलग सेटिंग्स के साथ फिर से एन्कोड करना है? एक क्लिक में URL Encoder टूल पर स्विच करें।
Decoding कैसे काम करती है
Decoder input को % sequences के लिए scan करता है, प्रत्येक two-hex-digit group को एक byte value में convert करता है, consecutive byte sequences को group करता है, और final Unicode characters produce करने के लिए उन्हें UTF-8 के रूप में interpret करता है।
सबसे अधिक encountered percent-encoded sequences के लिए quick reference:
एन्कोडेड
वर्ण
कहाँ दिखेगा
%20
space
path segments, query values
%2B
+
literal plus (not a space in query)
%2F
/
slash inside a path component
%3F
?
literal question mark in a value
%23
#
literal hash in a value
%26
&
literal ampersand in a value
%3D
=
literal equals sign in a value
%40
@
at sign in username / password
%3A
:
colon inside a path segment
%25
%
literal percent sign
%2C
,
comma in path or query
%5B
[
opening bracket
%5D
]
closing bracket
%7B
{
curly brace in template literals
%7D
}
curly brace in template literals
सामान्य उपयोग के मामले
API Requests Debug करना
Browser DevTools network logs से URL copy करें और actual query parameter values देखने के लिए decode करें — विशेष रूप से उपयोगी जब automated tools या libraries ने parameters को percent-encode किया हो।
Log Files पढ़ना
Web server access logs और application logs URLs को उनके encoded form में store करते हैं। Real requested paths, search terms और parameter values खोजने के लिए उन्हें decode करें।
Redirects की जाँच
OAuth callbacks, SSO redirects और link-tracking URLs में अक्सर heavily encoded redirect_uri या next parameters होते हैं। Intended destination trace करने के लिए URL decode करें।
Webhook Payloads Parse करना
application/x-www-form-urlencoded (Stripe, Twilio, GitHub) के रूप में भेजे गए webhook bodies percent-encoded strings के रूप में आते हैं। Actual field values पढ़ने के लिए उन्हें decode करें।
Search Queries निकालना
Analytics URLs और referrer headers में user का original search query q= parameter में percent-encoded होता है। Actual search terms display या analyze करने के लिए decode करें।
URLs की Reverse Engineering
Third-party APIs के साथ integrate करते समय या scraping करते समय, encountered URLs में अक्सर encoded path segments और parameters होते हैं। URL structure समझने और requests reproduce करने के लिए उन्हें decode करें।
सामान्य गलतियाँ
Percent-encoded strings decode करते समय ये सबसे बार-बार होने वाली गलतियाँ हैं:
✕
+ को %20 समझने की गलती
Application/x-www-form-urlencoded data (HTML form submissions) में, + एक space represent करता है। लेकिन raw URL path या encodeURIComponent से encoded value में, + एक literal plus sign है। decodeURIComponent + को space में convert नहीं करता — form data के लिए URLSearchParams या unquote_plus का उपयोग करें।
✕
दोहरी एन्कोडेड स्ट्रिंग
यदि string दो बार encode हुई हो, एक बार decode करने पर percent signs अभी भी रहेंगे: %2520 %20 में decode होता है, space में नहीं। Original value पाने के लिए दूसरी बार decode करें। Logs, proxies और middleware में इसका ध्यान रखें जो already-encoded data को re-encode करते हैं।
✕
अमान्य प्रतिशत सीक्वेंस
अकेला % या non-hex characters के बाद % (जैसे %GG या % 2) invalid है और URIError throw करेगा। Input हमेशा validate करें या decoding को try/catch में wrap करें।
✕
Encoding Mismatch (Latin-1 बनाम UTF-8)
पुराने systems (PHP का urlencode, classic ASP) characters को Latin-1 bytes के रूप में encode करते थे। Latin-1 के रूप में encode की गई string UTF-8 decoder से गलत decode हो सकती है। यदि garbled characters दिखें, तो legacy unescape() path आज़माएं या original encoding determine करें।
कोड उदाहरण
लोकप्रिय भाषाओं और environments में URL strings decode करने के तरीके:
JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"
// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"
// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q') // → "hello world & more"
url.pathname // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"
# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"
URL Decoder बनाम विकल्प
कई टूल परसेंट-एन्कोडेड स्ट्रिंग डिकोड कर सकते हैं, लेकिन वे स्पष्टता, गोपनीयता और सुविधा में भिन्न होते हैं।
यह टूल
ब्राउज़र-आधारित, तत्काल, निजी। %XX एन्कोडिंग, + को स्पेस, Unicode और गलत सीक्वेंस को हैंडल करता है। किसी भी सर्वर को कोई डेटा नहीं भेजा जाता।
ब्राउज़र एड्रेस बार
ब्राउज़र URL को प्रदर्शन के लिए डिकोड करते हैं, लेकिन हमेशा पूरी तरह नहीं — कुछ एन्कोडेड कैरेक्टर एड्रेस बार में दिखते रहते हैं। अलग-अलग पैरामीटर वैल्यू जाँचने के लिए उपयोगी नहीं।
DevTools / curl -v
ब्राउज़र DevTools और curl नेटवर्क रिक्वेस्ट में रॉ और डिकोड किए URL दिखाते हैं। डीबगिंग के लिए उपयोगी, लेकिन टूल बदलना और जानना पड़ता है कि कहाँ देखना है।
अक्सर पूछे जाने वाले प्रश्न
decodeURIComponent और decodeURI में क्या अंतर है?
decodeURIComponent reserved characters सहित सभी percent-encoded sequences decode करता है (%2F → /, %3F → ?, आदि)। decodeURI केवल उन sequences को decode करता है जो URL में special meaning वाला character नहीं बनाएंगे — यह %2F, %3F, %23 और अन्य structural characters को encoded रहने देता है। Parameter values के लिए decodeURIComponent का उपयोग करें; decodeURI का उपयोग केवल तब करें जब आपके पास complete URL हो और structure preserve करना हो।
URIError: malformed URI क्यों दिखता है?
decodeURIComponent का यह error तब आता है जब input में % के बाद दो valid hex digits नहीं हों, या multi-byte UTF-8 sequence incomplete हो (जैसे %E2 बिना %82%AC के)। Decode करने से पहले stray percent signs हटाएं या escape करें।
क्या Decoding + को space के रूप में handle करती है?
नहीं — decodeURIComponent + को space नहीं बल्कि literal plus sign मानता है। + → space convention केवल application/x-www-form-urlencoded data (HTML form submissions) पर लागू होती है। Form-encoded data decode करने के लिए URLSearchParams (browser/Node) या urllib.parse.unquote_plus (Python) का उपयोग करें।
क्या Client-side URL decoding करना safe है?
हाँ — URL decoding एक pure transformation है जिसमें कोई network requests नहीं हैं। सभी modern browsers में decodeURIComponent और decodeURI native functions के रूप में शामिल हैं। यह टूल decoding पूरी तरह आपके browser में करता है; कोई data कहीं नहीं भेजा जाता।
Multiple बार encode हुए URL को कैसे decode करें?
Output stable होने तक (कोई % sequences resolve नहीं हो रहे) multiple बार decode करें। यह तब होता है जब already-encoded URL को किसी अन्य encoder से pass किया जाता है। प्रत्येक decode pass encoding की एक layer remove करता है।
%XX क्या represent करता है?
% के बाद दो characters hexadecimal digits हैं जो एक single byte value (00–FF) represent करते हैं। ASCII characters के लिए, यह byte character का ASCII code है: %41 = 65 = 'A'। Non-ASCII characters के लिए, कई %XX sequences character की UTF-8 byte sequence represent करते हैं: euro sign %E2%82%AC है (तीन bytes: 0xE2, 0x82, 0xAC)।
HTML फ़ॉर्म सबमिट करते समय ब्राउज़र किस एन्कोडिंग का उपयोग करता है?
method=GET वाले HTML फ़ॉर्म application/x-www-form-urlencoded एन्कोडिंग का उपयोग करके फ़ील्ड को URL में जोड़ते हैं, जहाँ स्पेस को %20 के बजाय + से बदला जाता है और अन्य विशेष वर्णों को प्रतिशत एन्कोड किया जाता है। URL Decode टूल का + → स्पेस विकल्प इस फ़ॉर्मेट को हैंडल करता है। method=POST और enctype=application/x-www-form-urlencoded वाले फ़ॉर्म रिक्वेस्ट बॉडी में समान स्कीम का उपयोग करते हैं।
क्या डिकोडिंग के लिए आकार सीमा है?
सर्वर-साइड कोई सीमा नहीं — टूल पूरी तरह आपके ब्राउज़र में चलता है। व्यावहारिक सीमाएँ आपके ब्राउज़र की मेमोरी पर निर्भर करती हैं। बहुत लंबी एन्कोडेड स्ट्रिंग या बैच प्रोसेसिंग के लिए स्क्रिप्ट में decodeURIComponent उपयोग करें।