Gratis tool
Telegram-tekstopmaak, met het escapen al gedaan
In je bericht staat een prijs, een koppelteken en een punt, en de Bot API antwoordt met "can't parse entities". MarkdownV2 reserveert 18 tekens, en een gewone zin bevat er meestal vier of vijf. Schrijf het bericht hier, kies vet, een spoiler of een codeblok, en kopieer de uitvoer waarin al die tekens al geëscaped zijn.
Schrijf je bericht
Selecteer tekst en pas een stijl toe, of typ de tags zelf. Het vak werkt in de HTML-syntax van Telegram, dus wat je bewerkt is al geldig voor een van de twee uitvoeren. De voorvertoning is een plaatje van het bericht, geen verzendknop: hier verlaat niets je browser.
Tekens 198 van 4096
Voorbij 4096 tekens. Telegram weigert dit als één bericht, dus splits het of zet het lange stuk in een bestand.
Telegram telt zichtbare tekens, dus de opmaak zelf is gratis. Entities en opmaaktags tellen niet mee voor de limiet.
Fixed: the CSV import dropped rows ending in a comma.
Reported by three of you on the same day.
Run
npm i -g entergram@2.4 to upgrade.The migration note is boring but mandatory.
MarkdownV2
*Release 2\.4 is out\.* Fixed: the CSV import dropped rows ending in a comma\. >Reported by three of you on the same day\. Run `npm i -g entergram@2.4` to upgrade\. The migration note is ||boring but mandatory||\.
Verstuur met parse_mode=MarkdownV2. Elk gereserveerd teken in gewone tekst is geëscaped; binnen een codefragment alleen de backslash en de backtick.
HTML
<b>Release 2.4 is out.</b> Fixed: the CSV import dropped rows ending in a comma. <blockquote>Reported by three of you on the same day.</blockquote> Run <code>npm i -g entergram@2.4</code> to upgrade. The migration note is <tg-spoiler>boring but mandatory</tg-spoiler>.
Verstuur met parse_mode=HTML. Er valt minder te escapen, en daarom kiezen de meeste bibliotheken het als standaard.
De syntax in beide parse modes
Telegram accepteert drie parse modes. Markdown is de oude en kent vier stijlen; MarkdownV2 en HTML kennen alle tien. Deze tabel zet MarkdownV2 en HTML naast elkaar.
| Stijl | MarkdownV2 | HTML |
|---|---|---|
| Vet | *bold* | <b>bold</b> |
| Cursief | _italic_ | <i>italic</i> |
| Onderstreept | __underline__ | <u>underline</u> |
| Doorgehaald | ~strike~ | <s>strike</s> |
| Spoiler | ||hidden|| | <tg-spoiler>hidden</tg-spoiler> |
| Code in de regel | `code` | <code>code</code> |
| Codeblok | ```python code ``` | <pre><code class="language-python">code</code></pre> |
| Blokcitaat | >quoted line | <blockquote>quoted</blockquote> |
| Link in de tekst | [text](https://example.com) | <a href="https://example.com">text</a> |
| Eigen emoji |  | <tg-emoji emoji-id="5368324170671202286">👍</tg-emoji> |
Onderstreept en cursief laten zich in MarkdownV2 niet zomaar nesten, omdat __ en _ op de grens botsen. Neem HTML wanneer je allebei op hetzelfde stuk tekst nodig hebt.
Waarom MarkdownV2 je bericht blijft weigeren
MarkdownV2 reserveert achttien tekens, en buiten een code-entity moet voor elk daarvan een backslash staan, zelfs waar het onmogelijk als opmaak gelezen kan worden. De lijst is _ * [ ] ( ) ~ ` > # + - = | { } . ! en, omdat het het escape-teken zelf is, de backslash.
Twee daarvan laten bijna iedereen struikelen. De punt sluit de meeste zinnen af. Het koppelteken zit in datums, bereiken, vlaggen en samenstellingen. Een releasenotitie als "Fixed: the 2.4-rc build" heeft drie gereserveerde tekens op negen woorden, en de API weigert het hele bericht in plaats van de tekst door te laten.
Binnen een entity gelden andere regels, en dat is de tweede klassieke fout. In een codefragment of codeblok zijn alleen de backslash en de backtick bijzonder, dus wie daar de rest escapet, krijgt zichtbare backslashes in zijn code. Binnen de haakjes van een link of een eigen emoji zijn alleen het sluithaakje en de backslash dat. De tool hierboven past per context de juiste regel toe, en dat is precies wat zoeken en vervangen niet kan.
Spreekt dit alles je niet aan, neem dan HTML. Het escapet drie tekens, &, < en >, en het nest zonder dubbelzinnigheden. De enige reden om MarkdownV2 te verkiezen is dat het prettiger leest in versiebeheer.
De limiet van 4096 tekens telt tekst, geen opmaak
Een Telegram-tekstbericht bevat 4096 tekens. Opmaak reist als entities naast de tekst en niet erin, dus de tags, de sterretjes en de backslashes die je in de uitvoer ziet tellen niet mee. De teller hierboven toont de zichtbare lengte, en dat is het getal dat Telegram controleert.
Er liggen twee limieten vlak naast, het weten waard voordat je een verzender bouwt. Een mediabijschrift bevat 1024 tekens, dus een opgemaakt bericht dat op zichzelf ruim past, wordt geweigerd zodra je een afbeelding meestuurt. Een bericht boven de limiet wordt niet afgekapt: de API geeft een fout terug en verstuurt niets.
Vragen
Geldt dit voor kanaalposts en gewone chats, of alleen voor bots?
De syntaxtabel geldt voor alles wat via de Bot API of een clientbibliotheek verstuurt. Typ je zelf in Telegram, dan heeft de app een eigen opmaakmenu en zie je MarkdownV2 nooit. Deze tool is voor het geval dat iets anders verstuurt en de tekst vooraf opgemaakt nodig heeft.
Welke parse mode moet ik kiezen?
HTML, tenzij je een reden hebt. Het escapet drie tekens in plaats van achttien, het nest voorspelbaar, en als je het misdoet zie je meestal een zichtbare tag in plaats van een geweigerd bericht. MarkdownV2 leest prettiger in een bronbestand, en dat is het eerlijke argument ervoor.
Waarom is mijn bericht wel verstuurd maar zonder opmaak?
Bijna altijd een ontbrekende parse_mode. Zonder die behandelt Telegram de tekst letterlijk, dus de sterretjes en de tags verschijnen als tekens. Zet parse_mode bij het versturen op MarkdownV2 of HTML, passend bij de uitvoer die je hebt gekopieerd.
Kan ik vet in een link nesten, of cursief in vet?
Ja, in beide parse modes, met één uitzondering: onderstreept en cursief samen vragen in MarkdownV2 om een omweg, omdat de scheidingstekens botsen. Codefragmenten en codeblokken verdragen in geen van beide modi enige andere stijl van binnen.
Wat is het ID van een eigen emoji en waar haal ik dat vandaan?
Het is het numerieke ID van een eigen Premium-emoji, en je leest het af van een bericht waarin die emoji al staat, niet uit een openbare catalogus. De afzender heeft Telegram Premium nodig, of moet een bot zijn die de stickerset bezit. Iedereen anders ziet het terugvalteken dat je eromheen zette.
Wordt er iets geüpload van wat ik hier typ?
Nee. De omzetting draait in je browser en de pagina heeft geen verzendstap, geen account en geen opslag. Tabblad dicht, bericht weg.
Ga verder
Ook gratis: Telegram Group Finder , Telegram Lead Finder , Free QR Code Generator .
Als de opmaak bedoeld is voor een bericht aan 200 mensen
Vooraf geëscapete tekst is de kleine helft van een broadcast. De grote helft is versturen vanaf een account waarop mensen echt antwoorden, het tempo zo kiezen dat Telegram rustig blijft, en de antwoorden ergens anders opvangen dan op een telefoon. Dat deel doet Entergram: echte persoonlijke Telegram-accounts in plaats van een bot, elk via zijn eigen proxy, en de antwoorden komen binnen in één interface naast het contactrecord.
Bekijk hoe broadcasts werken