झटपट जवाब
टेक्स्ट पेस्ट करें और Encode चुनें ताकि HTML में ख़ास मतलब रखने वाले कैरेक्टर बदल जाएँ — & बनता है &, < बनता है <, > बनता है > और quotes बनते हैं " या ' — ताकि ब्राउज़र उन्हें कोड मानने के बजाय टेक्स्ट के रूप में दिखाए। © जैसे चिह्न और हिंदी अक्षरों को भी entity में बदलने के लिए ज़्यादा सख़्त मोड चुनें। , © या न को वापस कैरेक्टर बनाने के लिए Decode पर जाएँ।
HTML Entity एन्कोडर क्या है?
HTML Entity एन्कोडर / डिकोडर (HTML एनकोडर / डिकोडर) HTML में ख़ास मतलब वाले कैरेक्टर को entity नाम के सुरक्षित कोड में बदलता है, और उन कोड को वापस कैरेक्टर में। HTML में less-than चिह्न टैग शुरू करता है, ampersand entity शुरू करता है और quotes attribute मानों की सीमा तय करते हैं। अगर आप चाहते हैं कि वेब पेज “<div>”, “5 < 10” या “Tom & Jerry” दिखाए, तो ये कैरेक्टर <, > और & के रूप में लिखे जाने चाहिए। नहीं तो ब्राउज़र उन्हें markup मानता है — जिससे लेआउट बिगड़ता है या, अविश्वसनीय इनपुट के साथ, cross-site scripting (XSS) का रास्ता खुलता है।
यह मुफ़्त टूल पाँच HTML-विशेष कैरेक्टर escape करता है, आम चिह्नों को © और — जैसे named entity में भी बदल सकता है, या हर non-ASCII कैरेक्टर — हिंदी, इमोजी, ₹ — को उन सिस्टम के लिए numeric reference बना सकता है जो सिर्फ़ सादा ASCII लेते हैं। उलटी दिशा में यह किसी भी named या numeric entity को, से 😀 तक, असली कैरेक्टर में decode करता है। Decoding ब्राउज़र के parse-only DOMParser से होती है, इसलिए पेस्ट किए script टैग भी कभी नहीं चलते।
मुख्य सुविधाएँ
- सिर्फ़ विशेष कैरेक्टर — सुरक्षित HTML कंटेंट और attribute के लिए & < > " ' escape।
- Named entity — लगभग 30 आम चिह्न ( © ® € → … …)।
- दशमलव reference — हर non-ASCII कैरेक्टर &#NNNN; के रूप में।
- Hex reference — हर non-ASCII कैरेक्टर &#xHHHH; के रूप में।
- कुछ भी decode करें — सभी HTML5 named entity और numeric reference।
- इमोजी-सुरक्षित — Basic Multilingual Plane से बाहर के कैरेक्टर दो नहीं, एक reference बनते हैं।
- Entity की गिनती और एक-क्लिक कॉपी।
- निजी — लोकल चलता है।
इस्तेमाल कैसे करें — स्टेप बाय स्टेप
- Encode या Decode चुनें।
- एन्कोड करने के लिए मोड चुनें — सिर्फ़ विशेष कैरेक्टर (सबसे आम), named entity, या numeric।
- अपना टेक्स्ट, कोड या HTML पेस्ट करें।
- नतीजा कॉपी करें, या उसे पलटने के लिए Use result as input दबाएँ।
एन्कोडिंग मोड की तुलना
इनपुट: <p class="note">Price: ₹500 — "Tom & Jerry" © 2026</p>
| मोड | आउटपुट |
|---|---|
| सिर्फ़ विशेष कैरेक्टर | <p class="note">Price: ₹500 — "Tom & Jerry" © 2026</p> |
| + named entity | … ₹500 — "Tom & Jerry" © 2026 … |
| दशमलव | … ₹500 — … © 2026 … |
| Hex | … ₹500 — … © 2026 … |
रुपये के चिह्न का कोई named entity नहीं है, इसलिए named मोड उसे ₹ ही रहने देता है जबकि numeric मोड उसे बदल देते हैं।
वे पाँच कैरेक्टर जिन्हें escape करना ज़रूरी है
| कैरेक्टर | Entity | क्यों |
|---|---|---|
| & | & | हर entity की शुरुआत करता है — पहले इसे escape करें |
| < | < | टैग शुरू करता है |
| > | > | टैग खत्म करता है (escape करने से उलझन नहीं होती) |
| " | " | double-quote वाले attribute मान खत्म करता है |
| ' | ' | single-quote वाले attribute मान खत्म करता है |
HTML Escaping और XSS
Cross-site scripting तब होती है जब अविश्वसनीय टेक्स्ट — यूज़रनेम, कमेंट या सर्च शब्द — बिना escape किए पेज में डाल दिया जाए, जिससे हमलावर <script> या event-handler attribute डाल सकता है। पाँच विशेष कैरेक्टर escape करने से सामान्य element कंटेंट और quote वाले attribute मानों के लिए यह बेअसर हो जाता है, क्योंकि ब्राउज़र को तब टेक्स्ट दिखता है, कोड नहीं। लेकिन संदर्भ मायने रखता है: JavaScript, URL, CSS या बिना quote वाले attribute के अंदर रखे डेटा को अलग escaping चाहिए, और कुछ sink (जैसे यूज़र इनपुट के साथ innerHTML) हर हाल में जोखिम भरे हैं। असली ऐप्लिकेशन में अपने framework की अपने-आप होने वाली escaping पर भरोसा करें (React, Angular, Django, Laravel Blade, Jinja और दूसरे डिफ़ॉल्ट रूप से escape करते हैं), सादे JavaScript में innerHTML की जगह textContent इस्तेमाल करें, और Content Security Policy जोड़ें। यह टूल एक बार की escaping, डॉक्यूमेंटेशन और सीखने के लिए आदर्श है।
Numeric कैरेक्टर reference
हर Unicode कैरेक्टर का एक नंबर होता है जिसे code point कहते हैं। HTML में आप किसी भी कैरेक्टर को &# + दशमलव संख्या + ; या &#x + हेक्साडेसिमल संख्या + ; के रूप में लिख सकते हैं। देवनागरी अक्षर न U+0928 है, इसलिए इसे न या न लिखा जा सकता है; “नमस्ते” बनता है नमस्ते। इमोजी के code point U+FFFF से ऊपर होते हैं — 😀 U+1F600 है, जो 😀 या 😀 लिखा जाता है। कुछ कच्चे कन्वर्टर ऐसे कैरेक्टर को दो अमान्य “surrogate” reference में तोड़ देते हैं; यह टूल पूरे code point पढ़ता है, इसलिए आउटपुट हमेशा मान्य रहता है।
आपको असल में entity की ज़रूरत कब पड़ती है?
- जब & < > और quotes टेक्स्ट के रूप में दिखने चाहिए, तब हमेशा।
- ट्यूटोरियल, ब्लॉग और डॉक्यूमेंटेशन में <pre> या <code> के अंदर कोड दिखाना।
- ASCII-only सिस्टम — कुछ ईमेल बिल्डर, SMS गेटवे, XML फ़ीड या पुराने डेटाबेस।
- अदृश्य या भ्रमित करने वाले कैरेक्टर — , ­ और zero-width कैरेक्टर entity के रूप में ज़्यादा साफ़ रहते हैं।
- UTF-8 में सर्व किए पेजों पर हिंदी, accent वाले अक्षरों या इमोजी के लिए ज़रूरत नहीं — उन्हें सीधे टाइप करें।
Entity decode करना
पेज सोर्स, RSS फ़ीड, API या डेटाबेस से कॉपी किया टेक्स्ट अक्सर entity से भरा आता है: Tom & Jerry, café, ₹500। उसे पढ़ने लायक टेक्स्ट बनाने के लिए Decode पर जाएँ और पेस्ट करें। डिकोडर HTML5 named entity की पूरी सूची (2,000 से ज़्यादा) और सारे numeric रूप समझता है, क्योंकि यह ब्राउज़र का अपना HTML parser इस्तेमाल करता है। &amp; जैसा दो बार एन्कोड किया टेक्स्ट एक बार में एक स्तर decode होता है — “Use result as input” दबाएँ और फिर decode करें।
टूल कैसे काम करता है
एन्कोडिंग आपके टेक्स्ट पर एक बार में एक Unicode code point (UTF-16 इकाई नहीं) के हिसाब से चलती है, इसलिए इमोजी और U+FFFF से आगे के कैरेक्टर पूरे बदलते हैं। पाँच विशेष कैरेक्टर हमेशा escape होते हैं; named मोड में इसके बाद अच्छी तरह सपोर्टेड नामों की छोटी तालिका लगती है; numeric मोड में ASCII सीमा (code point 127) से ऊपर का हर कैरेक्टर दशमलव या हेक्साडेसिमल reference बन जाता है। Decoding टेक्स्ट को एक अलग, स्क्रिप्ट-रहित डॉक्यूमेंट के अंदर ब्राउज़र के मानक-अनुसार HTML parser को सौंपती है और सादा टेक्स्ट वापस पढ़ती है, इसीलिए 2,000+ HTML5 named entity में से हर एक पहचाना जाता है। कोई टेक्स्ट कहीं नहीं भेजा जाता।
HTML ईमेल और entity
ईमेल क्लाइंट ब्राउज़र जितने उदार नहीं होते। कुछ पुराने क्लाइंट या भेजने वाले प्लेटफ़ॉर्म, अगर संदेश की एन्कोडिंग सही घोषित न हो, तो non-ASCII कैरेक्टर बिगाड़ देते हैं और “₹” या “—” अजीब चिह्न बन जाते हैं। ₹ और — जैसे numeric reference लगभग हर पाइपलाइन में बचे रहते हैं क्योंकि वे सादे ASCII हैं। न्यूज़लेटर टेम्पलेट डिज़ाइन करते समय विशेष चिह्न numeric मोड से गुज़ारें, सामान्य अक्षर जैसे हैं वैसे रखें और कैंपेन से पहले हमेशा कई क्लाइंट पर टेस्ट ईमेल भेजें।
आम उपयोग
- ब्लॉग पोस्ट और डॉक्यूमेंटेशन में कोड स्निपेट दिखाना।
- HTML ईमेल टेम्पलेट के लिए टेक्स्ट तैयार करना।
- CMS और फ़ीड से एक्सपोर्ट हुए entity भरे टेक्स्ट को साफ़ करना।
- मान HTML attribute में हाथ से रखने से पहले escape करना।
- पुराने सिस्टम के लिए हिंदी टेक्स्ट को ASCII-सुरक्षित reference में बदलना।
- सीखना कि HTML parsing और XSS बचाव कैसे काम करते हैं।
- सीमित markup स्वीकार करने वाले फ़ोरम पोस्ट या कमेंट बॉक्स में HTML के उदाहरण दिखाना।
इन आम गलतियों से बचें
- दो बार escape करना — &lt; स्क्रीन पर “<” की जगह “<” दिखाता है।
- सेमीकोलन भूल जाना — ब्राउज़र अक्सर अंदाज़ा लगाते हैं, पर हमेशा सही नहीं।
- गलत संदर्भ के लिए escape करना — HTML escaping JavaScript स्ट्रिंग या URL के अंदर टेक्स्ट को सुरक्षित नहीं बनाती।
- हर हिंदी अक्षर के लिए UTF-8 की जगह entity इस्तेमाल करना — इससे पेज फूल जाते हैं और एडिट करना कठिन होता है।
- बिना quote वाले attribute — attribute मान हमेशा quote में रखें, फिर quotes को escape करें।
समस्या-समाधान
- पेज पर entity अब भी दिख रहे हैं — टेक्स्ट दो बार एन्कोड हुआ था; एक बार decode करें।
- प्रश्न चिह्न या डिब्बे — पेज UTF-8 में सर्व नहीं हो रहा; <meta charset="UTF-8"> जोड़ें या numeric मोड इस्तेमाल करें।
- कोई named entity decode नहीं हुआ — वर्तनी और आख़िर का सेमीकोलन जाँचें।
- Named मोड में single quote वैसे ही दिखते हैं — वे numeric ' के रूप में escape होते हैं, जो सबसे संगत रूप है।
- पेज पर लाइन ब्रेक गायब हो गए — HTML नई लाइनें घटा देता है; एन्कोड किया टेक्स्ट pre element में रखें या ब्रेक को br टैग में बदलें।
संक्षिप्त शब्दावली
- Entity: & जैसा कोड जो HTML में किसी कैरेक्टर को दर्शाता है।
- Named entity: नाम वाली entity, जैसे ©।
- Numeric कैरेक्टर reference: © या ©, code point के हिसाब से।
- Escaping: विशेष कैरेक्टर बदलना ताकि उन्हें टेक्स्ट माना जाए।
- XSS: cross-site scripting, बिना escape किए इनपुट के ज़रिए स्क्रिप्ट डालना।
- Code point: Unicode में किसी कैरेक्टर की संख्या, जैसे U+0928।
यह HTML एन्कोडर क्यों इस्तेमाल करें?
यह हर काम के लिए सही स्तर की escaping देता है, हिंदी और इमोजी सही संभालता है, हर entity सुरक्षित रूप से decode करता है और समझाता है कि entity की असल में कब ज़रूरत है — मुफ़्त, तुरंत और निजी।
HTML Entity एन्कोडर / डिकोडर — मुख्य बातें
| बेसिक escape | & → & · < → < · > → > · " → " · ' → ' |
|---|---|
| Named मोड | साथ में © ©, — —, non-breaking space और भी |
| Numeric मोड | हर non-ASCII कैरेक्टर &#decimal; या &#xHEX; के रूप में |
| Decode | parse-only DOMParser से सभी named और numeric entity |
| Unicode | हिंदी और इमोजी सही संभाले जाते हैं (😀 → 😀) |
| निजता | आपके ब्राउज़र में चलता है |
अक्सर पूछे जाने वाले सवाल
HTML entity क्या हैं?
HTML entity वे कोड हैं जो HTML में कैरेक्टर दर्शाते हैं। वे & से शुरू होते हैं और ; पर खत्म, जैसे < के लिए < या © के लिए ©। © या © जैसे numeric रूप कैरेक्टर के Unicode नंबर को दर्शाते हैं।
मुझे <, > और & को escape करने की ज़रूरत क्यों है?
ब्राउज़र < को टैग की शुरुआत और & को entity की शुरुआत मानते हैं। अगर आप इन्हें वाला कोड या टेक्स्ट दिखाना चाहते हैं — जैसे “5 < 10” या “Tom & Jerry” — तो उन्हें escape करें ताकि ब्राउज़र उन्हें जस का तस दिखाए।
क्या HTML escaping XSS हमलों को रोकती है?
अविश्वसनीय टेक्स्ट को HTML element कंटेंट और quote वाले attribute में डालते समय & < > " ' को escape करना मुख्य बचाव है। दूसरे संदर्भों — JavaScript, URL, CSS — को अपना escaping चाहिए, और आधुनिक framework अपने-आप escape करते हैं। प्रोडक्शन कोड में अपने framework का बिल्ट-इन escaping इस्तेमाल करें।
Named और numeric entity में क्या फ़र्क है?
Named entity याद रखने लायक नाम (©) इस्तेमाल करते हैं पर सिर्फ़ कुछ कैरेक्टर के लिए होते हैं। Numeric reference (© या ©) हिंदी अक्षरों और इमोजी समेत हर Unicode कैरेक्टर के लिए काम करते हैं।
क्या हिंदी या इमोजी के लिए entity चाहिए?
आमतौर पर नहीं। अगर आपका पेज UTF-8 में सेव और सर्व होता है (meta charset UTF-8 टैग के साथ), तो आप हिंदी और इमोजी सीधे टाइप कर सकते हैं। Numeric entity उन सिस्टम के लिए काम के हैं जो सिर्फ़ ASCII लेते हैं, जैसे कुछ ईमेल टेम्पलेट या पुराने डेटाबेस।
का क्या मतलब है?
non-breaking space है: यह स्पेस जैसा दिखता है पर उस जगह लाइन टूटने से रोकता है और दूसरे स्पेस के साथ मिलकर घटता नहीं। Decode करने पर यह वापस U+00A0 कैरेक्टर बन जाता है।
अगर टेक्स्ट में स्क्रिप्ट हों तो क्या decoding सुरक्षित है?
हाँ। Decoding DOMParser इस्तेमाल करती है, जो बिना स्क्रिप्ट चलाए डॉक्यूमेंट बनाता है और सिर्फ़ टेक्स्ट पढ़ता है। Decode किया आउटपुट टेक्स्ट बॉक्स में सादे टेक्स्ट के रूप में दिखता है।
' को ' की जगह ' के रूप में एन्कोड क्यों किया जाता है?
' HTML5 और XML में परिभाषित है पर HTML 4 का हिस्सा नहीं था, इसलिए single quote के लिए ' सबसे ज़्यादा संगत विकल्प है।
क्या मैं पूरी HTML फ़ाइल एन्कोड कर सकता हूँ?
हाँ। पूरे HTML डॉक्यूमेंट को एन्कोड करने पर वह ऐसा टेक्स्ट बन जाता है जिसे आप pre या code ब्लॉक के अंदर दिखा सकते हैं — ट्यूटोरियल और डॉक्यूमेंटेशन के लिए काम का।
यह URL एन्कोडिंग से कैसे अलग है?
URL एन्कोडिंग (%20, %26) टेक्स्ट को वेब पतों के अंदर सुरक्षित बनाती है; HTML एन्कोडिंग टेक्स्ट को HTML डॉक्यूमेंट के अंदर सुरक्षित बनाती है। लिंक के लिए हमारा URL एन्कोडर इस्तेमाल करें।
क्या मेरा टेक्स्ट अपलोड होता है?
नहीं। सब कुछ आपके ब्राउज़र में होता है।
क्या HTML एन्कोडर मुफ़्त है?
हाँ। यह मुफ़्त है, असीमित है और साइन-अप की ज़रूरत नहीं।
टेक्स्ट को तुरंत HTML-सुरक्षित बनाएँ!
Escape, unescape और entity बदलें — मुफ़्त और निजी।
Prompt Minds के और टूल्स देखें
HTML Entity एन्कोडर / डिकोडर हमारे दूसरे मुफ़्त टूल्स के साथ भी बढ़िया काम करता है। Prompt Minds का हर टूल पूरी तरह आपके ब्राउज़र में चलता है — न साइन-अप, न अपलोड, न वॉटरमार्क। सभी मुफ़्त टूल्स देखें।
