मुफ़्त टूल

Telegram टेक्स्ट फ़ॉर्मैटर: बोल्ड, स्पॉइलर, MarkdownV2

बोल्ड, इटैलिक, अंडरलाइन, स्ट्राइकथ्रू, स्पॉइलर, कोड, लिंक और उद्धरण के साथ लिखिए, प्रीव्यू बदलते देखिए, और फिर टेक्स्ट को उसी रूप में कॉपी कीजिए जैसा Telegram चाहता है: हर प्रतीक एस्केप किए हुए MarkdownV2, HTML, या UTF-16 ऑफ़सेट वाली entities।

मार्कअप: **बोल्ड**, __इटैलिक__, ++अंडरलाइन++, ~~स्ट्राइकथ्रू~~, ||स्पॉइलर||, `कोड`, कोड ब्लॉक के लिए अलग लाइन पर ``` बाड़, [टेक्स्ट](url), उद्धरण के लिए > से और खुलने वाले उद्धरण के लिए >> से शुरू होती लाइन। बैकस्लैश प्रतीक को जैसा है वैसा रखता है। Ctrl या Cmd के साथ B, I और U भी चलते हैं।

4,096 में से 161 अक्षर · 161 UTF-16 यूनिट, जिस इकाई में entity के ऑफ़सेट गिने जाते हैं

प्रीव्यू

लॉन्च का दिन। नया कलेक्शन बिक्री पर है: 49 29 USD, और पहले 50 ऑर्डर पर शिपिंग मुफ़्त। ब्योरा: दुकान में
सोमवार से दुनिया भर में भेजते हैं।
टेक्स्ट को क्लिपबोर्ड पर HTML और सादे टेक्स्ट, दोनों रूप में रखता है। पेस्ट करने पर फ़ॉर्मैटिंग बचेगी या नहीं, यह उस Telegram ऐप पर निर्भर है जिसमें आप पेस्ट करते हैं; अगर सादा आए, तो नीचे का MarkdownV2 या HTML आउटपुट लीजिए।

बॉट और Bot API के लिए

MarkdownV2
*लॉन्च का दिन।* नया _कलेक्शन_ बिक्री पर है: ~49~ 29 USD, और पहले 50 ऑर्डर पर शिपिंग मुफ़्त।
||डिस्काउंट कोड: FIRST50||
ब्योरा: [दुकान में](https://example.com/shop)
>सोमवार से दुनिया भर में भेजते हैं।

parse_mode=MarkdownV2 के साथ भेजिए। हर विशेष अक्षर पहले से एस्केप है।

HTML
<b>लॉन्च का दिन।</b> नया <i>कलेक्शन</i> बिक्री पर है: <s>49</s> 29 USD, और पहले 50 ऑर्डर पर शिपिंग मुफ़्त।
<tg-spoiler>डिस्काउंट कोड: FIRST50</tg-spoiler>
ब्योरा: <a href="https://example.com/shop">दुकान में</a>
<blockquote>सोमवार से दुनिया भर में भेजते हैं।</blockquote>

parse_mode=HTML के साथ भेजिए। आपके टेक्स्ट के <, > और & पहले ही बदले जा चुके हैं।

Entities
[
  {
    "type": "bold",
    "offset": 0,
    "length": 13
  },
  {
    "type": "italic",
    "offset": 18,
    "length": 7
  },
  {
    "type": "strikethrough",
    "offset": 40,
    "length": 2
  },
  {
    "type": "spoiler",
    "offset": 86,
    "length": 22
  },
  {
    "type": "text_link",
    "offset": 117,
    "length": 9,
    "url": "https://example.com/shop"
  },
  {
    "type": "blockquote",
    "offset": 127,
    "length": 34
  }
]

सादा टेक्स्ट text में और यह ऐरे entities में भेजिए, बिना parse_mode के। ऑफ़सेट और लंबाई UTF-16 यूनिट में हैं।

सीमाएँ मार्कअप हटाने के बाद के टेक्स्ट पर गिनी जाती हैं: संदेश के लिए 4,096 अक्षर, कैप्शन के लिए 1,024। गिनती कैसे होती है

Telegram में फ़ॉर्मैटिंग टाइपोग्राफ़ी नहीं, डेटा है। एक बोल्ड शब्द एक entity है: सादे टेक्स्ट से जुड़ा एक प्रकार, एक ऑफ़सेट और एक लंबाई। ऐप उसे बनाते हैं, बॉट उसे भेजते हैं, और फ़ॉर्मैट किए संदेश में जो कुछ गड़बड़ होता है, वह उसी बिंदु पर होता है जहाँ टेक्स्ट entities में बदलता है।

दस स्टाइल, एक मार्कअप

ऊपर का खाना एक छोटा मार्कअप लेता है और टाइप करते-करते उसे entities में बदलता है: **बोल्ड**, __इटैलिक__, ++अंडरलाइन++, ~~स्ट्राइकथ्रू~~, ||स्पॉइलर||, लाइन के अंदर कोड के लिए बैकटिक की जोड़ी, कोड ब्लॉक के लिए अलग लाइन पर ``` बाड़ (भाषा खुलने वाली बाड़ के बाद लिखिए), लिंक के लिए [टेक्स्ट](url), और उद्धरण के लिए > से या खुलने वाले उद्धरण के लिए >> से शुरू होती लाइन। इनमें से किसी भी प्रतीक के आगे बैकस्लैश उसे टेक्स्ट बनाए रखता है। स्टाइल एक-दूसरे के अंदर बैठते हैं, इसलिए लिंक बोल्ड के अंदर और बोल्ड उद्धरण के अंदर रह सकता है; कोड में कुछ नहीं होता, और उद्धरण में न दूसरा उद्धरण होता है न कोड ब्लॉक। यही नेस्टिंग के वे नियम हैं जो Telegram लागू करता है, इस पेज की कोई सीमा नहीं।

प्रीव्यू दिखाता है कि entities का मतलब क्या है, न कि कोई एक ऐप उन्हें पिक्सेल-दर-पिक्सेल कैसे बनाता है। स्पॉइलर तब तक छिपे रहते हैं जब तक आप टैप न करें। खाने के नीचे का काउंटर मार्कअप के बिना टेक्स्ट नापता है, क्योंकि Telegram यही टेक्स्ट नापता है।

MarkdownV2: वह एस्केपिंग जो बॉट तोड़ती है

parse_mode=MarkdownV2 वह फ़ॉर्मैट है जो ज़्यादातर ट्यूटोरियल दिखाते हैं और जो ज़्यादातर «can’t parse entities» गलतियों के पीछे है। नियम छोटा और बेरहम है: कोड के बाहर _ * [ ] ( ) ~ ` > # + - = | { } . ! में से हर अक्षर के आगे बैकस्लैश होना चाहिए, और खुद बैकस्लैश के आगे भी। वाक्य के अंत में एक अकेला बिना एस्केप पूर्ण विराम पूरा संदेश रद्द करवाने के लिए काफ़ी है। code और pre के अंदर सिर्फ़ बैकटिक और बैकस्लैश एस्केप होते हैं; लिंक के पते वाले हिस्से के अंदर सिर्फ़ बंद कोष्ठक और बैकस्लैश।

एक जाल और है। दो अंडरस्कोर हमेशा अंडरलाइन पढ़े जाते हैं, लालच से, बाएँ से दाएँ, इसलिए जो इटैलिक ठीक वहीं ख़त्म हो जहाँ अंडरलाइन ख़त्म होती है, उसे सीधे-सीधे नहीं लिखा जा सकता। दस्तावेज़ में दिया हल: इटैलिक बंद कीजिए, अलगाव के लिए खाली बोल्ड entity ** डालिए, और तभी अंडरलाइन बंद कीजिए। ऊपर का MarkdownV2 आउटपुट यह सब, अलगाव समेत, खुद करता है, इसीलिए उसे दोबारा टाइप करने के बजाय कॉपी करना ठीक है।

HTML: एस्केप के लिए तीन अक्षर

parse_mode=HTML शांत विकल्प है। Telegram टैगों की एक तय सूची मानता है: b, i, u, s, tg-spoiler, a, code, pre (भाषा बताने के लिए अंदर code class="language-…" के साथ) और blockquote, सादा या expandable। आपके टेक्स्ट के सिर्फ़ तीन अक्षरों पर ध्यान देना है: <, > और &, जो &lt;, &gt; और &amp; से बदले जाते हैं। बाकी सब, वे पूर्ण विराम और डैश समेत जो MarkdownV2 को नाज़ुक बनाते हैं, जैसा है वैसा जाता है। यही फ़ॉर्मैट AdminHub पोस्ट प्रकाशित करते समय खुद इस्तेमाल करता है, और शून्य से लिखे किसी भी बॉट के लिए यही चुनना चाहिए।

Entities, अगर एस्केप बिल्कुल न करना हो

तीसरा आउटपुट entities ऐरे है। उसे सादे टेक्स्ट के साथ और बिना parse_mode के भेजिए, और एस्केप करने को कुछ नहीं रहेगा, क्योंकि कुछ पार्स ही नहीं होता। जानने की बात एक है, इकाई: ऑफ़सेट और लंबाई UTF-16 यूनिट में गिने जाते हैं, इसलिए इमोजी या Basic Multilingual Plane से बाहर का कोई भी अक्षर दो गिना जाता है। ठीक इसी वजह से काउंटर वह संख्या अलग से दिखाता है।

संदेश कितना लंबा हो सकता है

एक संदेश में 4,096 अक्षर और मीडिया कैप्शन में 1,024 समाते हैं, दोनों «entities पार्स होने के बाद»: मार्कअप, टैग और एस्केप वाले बैकस्लैश नहीं गिने जाते, सिर्फ़ वह टेक्स्ट जो पाठक देखता है। सीमाएँ अक्षरों में बताई गई हैं, जिन्हें Telegram का क्लाइंट कॉन्फ़िगरेशन कोड पॉइंट के रूप में गिनता है, इसलिए बोल्ड इमोजी सीमा के मुकाबले एक अक्षर है, भले ही उसकी entity दो यूनिट लंबी हो। ऊपर का काउंटर इसी नियम पर चलता है और दोनों सीमाओं के बीच बदलता है; फ़ॉन्ट जेनरेटर यही फ़र्क़ सजावटी यूनिकोड अक्षरों के लिए समझाता है।

यह टूल क्या नहीं करता

कस्टम इमोजी और tg-time तारीख़ entities को ख़ास अधिकारों वाला बॉट चाहिए, इसलिए वे बाहर हैं। पुराना Markdown मोड जानबूझकर बाहर रखा गया है: वह नेस्ट नहीं कर सकता, अंडरलाइन, स्ट्राइकथ्रू, स्पॉइलर या उद्धरण नहीं बता सकता, और Telegram का अपना दस्तावेज़ MarkdownV2 की ओर भेजता है। हेडिंग, टेबल और सूचियाँ भी सामान्य संदेश फ़ॉर्मैटिंग का हिस्सा नहीं हैं: Telegram ने उन्हें जुलाई 2026 में Premium उपयोगकर्ताओं के लिए अलग रिच टेक्स्ट एडिटर के रूप में पेश किया, और बॉट के लिए ये Bot API 10.1 के रिच संदेश हैं, जो AdminHub का पोस्ट एडिटर बनाता है। इस पेज के स्टाइल हर Telegram क्लाइंट एक जैसे दिखाता है।


स्रोत, सितंबर 2026 में जाँचे गए: MarkdownV2 के एस्केप नियमों, HTML टैग सूची, नेस्टिंग नियमों और «entities पार्स होने के बाद» की सीमाओं के लिए Bot API, Formatting options; UTF-16 यूनिट में ऑफ़सेट और लंबाई के लिए Bot API, MessageEntity; क्लाइंट entity की लंबाई कैसे गिनते हैं, इसके लिए Styled text with message entities; रिच टेक्स्ट एडिटर और उसकी सिर्फ़-Premium उपलब्धता के लिए Telegram ब्लॉग, 14 जुलाई 2026।

लोग आमतौर पर क्या पूछते हैं

Telegram में टेक्स्ट बोल्ड कैसे करें?
यहाँ उसे दो-दो तारकों के बीच लिखिए, या चुनकर बोल्ड दबाइए, और नतीजा ज़रूरत के रूप में कॉपी कीजिए। बॉट के लिए टेक्स्ट को parse_mode=HTML के साथ <b>बोल्ड</b> की तरह भेजिए, या parse_mode=MarkdownV2 के साथ *बोल्ड* की तरह, जहाँ बाकी हर विशेष अक्षर एस्केप करना पड़ता है। यह पेज वह बताता है जो Bot API में लिखा है, हर ऐप के बटन नहीं।
मेरे बॉट को can't parse entities वाली गलती क्यों मिलती है?
क्योंकि संदेश parse_mode=MarkdownV2 के साथ भेजा गया और उसमें कोई विशेष अक्षर बिना एस्केप के है, ज़्यादातर पूर्ण विराम, डैश, विस्मयादिबोधक चिह्न या कोष्ठक, या कोई स्टाइल खुला रह गया और बंद नहीं हुआ। HTML में वही गलती बंद न हुए या असमर्थित टैग से, या टेक्स्ट में अकेले पड़े < या & से आती है। टेक्स्ट यहाँ पेस्ट कीजिए और MarkdownV2 या HTML आउटपुट कॉपी कीजिए: एस्केप और बंद करना हो चुका है।
बॉट के लिए HTML लूँ या MarkdownV2?
HTML, जब तक कोई ख़ास वजह न हो। इसमें अठारह की जगह तीन अक्षर एस्केप होते हैं, अंडरलाइन और इटैलिक की उलझन नहीं है, और यही फ़ॉर्मैट AdminHub हर फ़ॉर्मैट की हुई पोस्ट के लिए Telegram को भेजता है। MarkdownV2 तब ठीक है जब आपकी लाइब्रेरी उसे खुद बनाए या आप इस जैसे टूल से कॉपी करें।
टेक्स्ट को स्पॉइलर के पीछे कैसे छिपाएँ?
उसे दो-दो खड़ी रेखाओं में लपेटिए, ||ऐसे||, या चुनकर स्पॉइलर दबाइए। MarkdownV2 में स्पॉइलर ऐसे ही लिखा जाता है, HTML में यह tg-spoiler टैग है, और entity के रूप में इसका प्रकार spoiler है। पाठक को टैप करने तक धुँधला ब्लॉक दिखता है।
क्या Telegram संदेश में हेडिंग, टेबल या सूचियाँ लगा सकते हैं?
सामान्य संदेश फ़ॉर्मैटिंग में नहीं, और यह टूल उन्हें बनाता भी नहीं। Telegram ने जुलाई 2026 में हेडिंग, टेबल और सूचियाँ एक अलग रिच टेक्स्ट एडिटर के रूप में जोड़ीं, सिर्फ़ Premium उपयोगकर्ताओं के लिए; बॉट के लिए ये Bot API 10.1 के रिच संदेशों का हिस्सा हैं, और AdminHub का पोस्ट एडिटर उन्हें इसी तरह भेजता है। इस पेज के सारे स्टाइल किसी भी चैट में चलते हैं।
फ़ॉर्मैट किया हुआ संदेश कितना लंबा हो सकता है?
संदेश के लिए 4,096 अक्षर और मीडिया कैप्शन के लिए 1,024, मार्कअप हटाने के बाद के टेक्स्ट पर गिने हुए: टैग, तारक और एस्केप वाले बैकस्लैश नहीं गिने जाते। खाने के नीचे का काउंटर यही नियम लगाता है और दोनों सीमाओं के बीच बदल सकता है।
entity की लंबाई अक्षरों की गिनती से अलग क्यों है?
entity के ऑफ़सेट और लंबाई UTF-16 यूनिट में गिने जाते हैं, इसलिए इमोजी या बुनियादी तल से बाहर का कोई भी अक्षर दो गिना जाता है, जबकि संदेश की सीमा अक्षरों में गिनी जाती है। काउंटर दोनों संख्याएँ दिखाता है: पहली तय करती है कि संदेश समाएगा या नहीं, दूसरी entities ऐरे में जाती है।