Telegram text formatting: post preview

Write text with Telegram markup and see right away how it will look in a channel. The counter works like Telegram: 4,096 characters for a text post and 1,024 for a photo or video caption. Everything runs in the browser; the text is not sent anywhere.

Markup: **bold**__italic__~~strike~~||spoiler||`code`[text](https://…)

145 / 4,096 characters

Preview
My channel
Launch on Thursday 🚀

Pre-orders for the new collection are open. The first 100 orders get free shipping.



See the catalog

Telegram markup

WhatHow to write it
Bold**text**
Italic__text__
Strikethrough~~text~~
Spoiler||text||
Monospace`text`
Link[text](https://…)

In the Telegram app the same is done from the selected-text menu, and in bots via parse_mode MarkdownV2 or HTML. This editor shows the look; it does not send the post.

Questions and answers

How many characters can a Telegram post have?

4,096 characters in a text message and 1,024 in a caption under a photo, video or file. Spaces and emoji count; markup (asterisks, underscores) does not, because Telegram stores it apart from the text.

How do I make bold text or a spoiler in Telegram?

In the app, select the text and pick Bold or Spoiler from the menu. In this editor and in bots (MarkdownV2), bold is **text**, spoiler is ||text||, italic is __text__ and strikethrough is ~~text~~.

What is the difference between Markdown and HTML in Telegram bots?

Two ways to pass the same formatting via parse_mode: MarkdownV2 (asterisks and underscores) and HTML (tags b, i, tg-spoiler, a). The result in the chat is identical; HTML is easier to escape.

Why is the link in the preview not clickable?

The preview shows how the post looks; it does not send it. Links are disabled on purpose so nobody opens a foreign address by accident.

Does the editor send my text anywhere?

No. The markup parser and the counter run in the browser; nothing is sent to the server.

See also