Skip to content

How to Format Text in Telegram: Every Style on Every Device

Author: Mira TeamPublished: Updated:

  • formatting
  • telegram
  • markdown

TL;DR

  • A regular Telegram message supports 13 styles. They range from bold and spoiler to quotes, links, dates and custom emoji.
  • Phone: select text and pick a style from the menu. Computer: shortcuts. Some styles also work as typed markers.
  • Paste differs by app. In our 2026-10-11 tests, the macOS app ignored pasted HTML; the iPhone app kept 4 styles from Safari.
  • A message holds 4096 characters, a media caption 1024. Since July 2026, Premium users have a Rich Text Editor with headings and tables, up to 32,768 characters.

You format text in Telegram in three ways. Select the text and choose a style from the menu. Press a keyboard shortcut on a computer. Or type markers such as **bold**, which turn into a style when you send. Telegram supports bold, italic, underline, strikethrough, spoiler, monospace, code blocks, quotes, links and dates.

Mira (usemira.pro) is a Telegram bot that finds materials for channel posts. We make Mira, so we are not neutral. This page is about Telegram itself.

Want to try each style before you post? Our free Telegram post editor previews the post for iOS, Android and Desktop.

We checked these facts on 2026-10-11 in Telegram's documentation and blog. If you find an error, write to us via the contact page.

All Telegram formatting in one table

The marker column shows what our test turned into formatting in Telegram for macOS. The shortcut column is for Telegram Desktop.

StyleWhat readers seeMarker you can typeTelegram Desktop shortcutBot API entity
BoldThicker letters**text**Ctrl+Bbold
ItalicSlanted letters__text__Ctrl+Iitalic
UnderlineLine under textnoneCtrl+Uunderline
StrikethroughLine through text~~text~~Ctrl+Shift+Xstrikethrough
SpoilerHidden until tapped||text||Ctrl+Shift+Pspoiler
MonospaceFixed-width text in a line`text`Ctrl+Shift+Mcode
Code blockSeparate code blockthree backticks around the lines (not tested)nonepre
QuoteQuote blocknone (> stayed as text)Ctrl+Shift+.blockquote
Collapsible quoteShows its start, opens on tapnonenoneexpandable_blockquote
Link on a wordWord that opens a web addressnone ([word](url) stayed as text)Ctrl+Ktext_link
Date and timeDate in each reader's time zonenoneCtrl+Shift+Ddate_time
Custom emojiEmoji from a custom pack (sending needs Telegram Premium)nonenonecustom_emoji
Mention by nameName that opens a profilenonenonetext_mention

Telegram also links @usernames, #hashtags, web addresses and phone numbers on its own (Telegram API docs).

Our advice: on a phone, use the menu. On a computer, learn four shortcuts first: bold, italic, link and spoiler.

How do I format text on iPhone, iPad and Android?

On a phone, select the text first, then pick a style from the menu above it.

iPhone and iPad

  1. Type your text in the message field.
  2. Double-tap a word, then drag the handles to select the part you want.
  3. In the menu above the selection, tap Format.
  4. Choose a style, for example Bold, Italic, Spoiler, Quote or Link.

The names above are from the English version of Telegram for iOS (its open source code, checked 2026-10-11).

Android

  1. Type your text and select the part you want to style.
  2. Tap the three-dot menu ⋮ in the bar that appears over the selection.
  3. Choose a style, for example Bold, Italic, Mono, Spoiler or Create Link.
  4. To remove all styles from the selection, choose Regular.

These names are from the English strings of Telegram for Android (open source code, checked 2026-10-11).

Keyboard shortcuts on Windows, Linux and Mac

On a computer, select the text and press a shortcut, or right-click and open the formatting menu. On a Mac there are two Telegram apps, with different shortcuts.

  • Telegram Desktop (Windows, Linux, Mac): the menu is Formatting. On a Mac, use ⌘ instead of Ctrl.
  • Telegram for macOS (Mac only): the menu is Transformations.
ActionTelegram DesktopTelegram for macOS
BoldCtrl+B⌘B
ItalicCtrl+I⌘I
UnderlineCtrl+U⇧⌘U
StrikethroughCtrl+Shift+X⇧⌘X
MonospaceCtrl+Shift+M⇧⌘K
SpoilerCtrl+Shift+P⇧⌘P
QuoteCtrl+Shift+.⇧⌘I
LinkCtrl+K⌘U
DateCtrl+Shift+Dnone found
Clear formattingCtrl+Shift+Nmenu only

We took these shortcuts from the source code of both apps on 2026-10-11, not from the running apps. The quote shortcut uses the period key, so it may not work on some keyboard layouts. If a key does nothing, use the right-click menu.

Watch out for ⌘U on a Mac. In Telegram for macOS it creates a link, not an underline.

Which markers turn into formatting when you send?

In our test notes from 2026-10-11, five markers became formatting on Send in Telegram for macOS:

**bold**   __italic__   ~~strikethrough~~   ||spoiler||   `monospace`

A link written as [word](https://example.com) and a line starting with > stayed as plain text. Underline has no marker. Our notes also cover paste, where most styles get lost:

StylemacOS app: typed markersmacOS app: pasted HTMLmacOS app: pasted rich text (RTF)iPhone app: pasted from Safari
Bold, italicYesNoNoYes
UnderlineNo marker existsNoNoYes
StrikethroughYesNoNoYes
SpoilerYesNoNoNo
MonospaceYesNoNoNo
Link on a wordNoNoYesNo
QuoteNoNoNoNo

The macOS columns are Telegram for macOS from the App Store, version not recorded. The iPhone column was a separate check on the same day, version not recorded. We did not test Android, Telegram Desktop or Telegram Web.

Why does formatting break when I paste from ChatGPT, Word or Notion?

Each source puts its own kind of text on the clipboard; each Telegram app reads only part of it. ChatGPT gives Markdown: in our macOS test **bold** turned bold on Send, but headings, lists, tables and [word](url) links stayed as plain characters. Word and Google Docs put rich text (HTML or RTF) on the clipboard. We did not paste from Word, Docs or Notion; in our macOS test with HTML and RTF on the clipboard, the app ignored HTML and kept only links from RTF.

Our advice: keep the markers that work, fix the rest with the menu, and check the post in Saved Messages before you publish. For a step-by-step cleanup of AI answers, read how to paste ChatGPT text into Telegram.

Spoiler, quote, code and date: the details

These four styles do more than change how letters look.

Spoiler

A spoiler hides part of a message until the reader taps it. Telegram hides it in the chat, in the chat list and in notifications (Telegram blog, 2021-12-30). Bots can also send photos and videos under a spoiler (Bot API, has_spoiler).

Quote and collapsible quote

Since 2023, you can apply quote formatting to any text (Telegram blog, 2023-10-28). A collapsible quote shows only its start until tapped; bots send it as expandable_blockquote. Quotes cannot be nested (Bot API).

Monospace and code block

Monospace marks a short piece inside a line; a code block stands apart. Bots can name the language, and Telegram highlights the syntax. Neither can contain other styles.

Date and time

The Date option appeared on 2026-03-01. A date shows in each reader's local time zone, so nobody has to convert times. Readers can tap it to add an event to their calendar or set a reminder (Telegram blog).

Select the word and choose Link in the menu, or press Ctrl+K (Telegram Desktop) or ⌘U (Telegram for macOS). Then paste the address.

  • When a reader taps a word-link, Telegram asks "Open this link?" and shows the full address (Bot API).
  • You can change the link preview: image size, above or below the text, and which link (Telegram blog).

Our advice: link words that say where the link goes, not "here".

What a regular Telegram post cannot do

A regular message has no headings, tables, numbered lists, font sizes or colors. The styles in the table above are the full set.

In 2026 Telegram added more, with limits:

  • Rich Text Editor (2026-07-14). Headings, tables, lists, code blocks and photos inside the text, up to 32,768 characters. Telegram Premium only (Telegram blog). To open it, type more than 3 lines and tap the ⛶ icon (Telegram blog, 2026-08-25).
  • Rich messages from bots (Bot API 10.1, 2026-06-11). The same structured text, sent by bots.
  • Old apps. If a reader's app cannot show a new feature, they see a placeholder with an update button (Telegram blog).

"Fancy font" generators swap letters for look-alike Unicode symbols. That is not formatting: search and screen readers may not treat them as normal words (we did not test this in Telegram).

Our advice: use real styles for channel posts. Keep the Rich Text Editor for long articles, and only if your readers have up-to-date apps.

To see the styles at work in before-and-after posts, read how to write a good Telegram post.

Length limits

A Telegram text message holds up to 4096 characters after formatting is applied (Bot API, sendMessage). A caption under a photo or video holds 1024 characters, or 4096 with Telegram Premium (Telegram API config).

Rich messages and Rich Text Editor posts hold up to 32,768 characters; bot messages show a Show More button after about 8,000 (Telegram blog).

The post editor counts characters as you type.

For bot developers: entities, HTML, MarkdownV2 and rich Markdown

A bot sends formatting as a list of entities, as HTML or as MarkdownV2; all three become the same entities. Full rules: Formatting options of the Bot API.

StyleHTMLMarkdownV2
Bold<b>text</b>*text*
Italic<i>text</i>_text_
Underline<u>text</u>__text__
Strikethrough<s>text</s>~text~
Spoiler<tg-spoiler>text</tg-spoiler>||text||
Monospace<code>text</code>`text`
Code block<pre><code class="language-python">…</code></pre>three backticks plus the language
Quote<blockquote>text</blockquote>> at the start of each line
Collapsible quote<blockquote expandable>text</blockquote>**> on the first line, || at the end
Link<a href="https://…">text</a>[text](https://…)
Date<tg-time unix="…" format="wDT">text</tg-time>![text](tg://time?unix=…&format=wDT)

Escaping needs the most care. In HTML, replace only <, > and & in your text. In MarkdownV2, put a backslash before each of these characters anywhere outside code:

_ * [ ] ( ) ~ ` > # + - = | { } . !

The legacy Markdown mode has no underline, spoiler, quote or date.

The same markers mean different things in three places:

  • Typed in the apps: ** is bold, __ is italic.
  • MarkdownV2: * is bold, _ is italic, __ is underline.
  • Rich messages: ** or __ is bold, * or _ is italic.

Rich messages (Bot API 10.1–10.3, 2026). sendRichMessage takes GitHub-style Markdown, HTML or blocks, up to 32,768 characters (Bot API). How AI answers fit there is in our ChatGPT-to-Telegram guide.

Entity offsets and lengths are counted in UTF-16 code units. An emoji outside the basic plane counts as 2 (Telegram API docs).

Our recommendation: send text with entities, or HTML if you build the text yourself. Use MarkdownV2 only with an escaping function, never by hand.

Frequently asked questions

How do I make text bold in Telegram?

Select the text and choose Bold: on iPhone under Format, on Android under the three-dot menu. On a computer, press Ctrl+B, or ⌘B on a Mac.

You can also type **text**; it turns bold when you send it.

How do I add a spoiler in Telegram?

Select the words, open the formatting menu and choose Spoiler. On a computer, press Ctrl+Shift+P in Telegram Desktop or ⇧⌘P in Telegram for macOS.

Typing ||text|| also worked in our macOS test.

How do I make a quote in Telegram?

Select the text and choose Quote in the formatting menu. In Telegram Desktop the shortcut is Ctrl+Shift+. and in Telegram for macOS it is ⇧⌘I.

Typing > at the start of a line did not work in our test.

Why does my formatting disappear when I paste text?

Telegram apps read only some kinds of copied text. In our test, Telegram for macOS ignored pasted HTML and kept only links from RTF.

The iPhone app kept bold, italic, underline and strikethrough from Safari, but not spoilers, links or quotes. Fix the rest with the menu.

Can I change the font size or color in Telegram?

No, not in a regular message. Telegram has no font size, font choice or text color.

Telegram Premium users can add headings in the Rich Text Editor.

What is the character limit for a Telegram post?

A text post holds 4096 characters. A caption under a photo or video holds 1024 characters, or 4096 with Telegram Premium.

Rich Text Editor posts and rich messages from bots hold up to 32,768 characters.

Does formatting work the same in channels as in chats?

Yes. Channel posts use the same styles and the same Bot API entities as chats.

The difference is the reader's app: an old app may show a new feature as a placeholder.

A simple routine for every channel post

Write the post as plain text, paste it into Telegram, then add styles with the menu or shortcuts. Use bold for one main line and a link on a few words. Send it to Saved Messages and check it on a phone.

The harder part is finding something worth posting. Mira searches your sources and drafts posts for your channel, so you start from a draft.

Open in Telegram