All tools
Copywriter tool

Platform symbol limits

One text - and you can immediately see which fields it fits into and where it is overkill. With an explanation of why counters on the Internet differ from each other by emoji.

0
Graphem
what a person calls a symbol
0
Code units
this is how string.length and maxlength are calculated in the browser
0
Words
separated by spaces
0
Long word
Direct has a separate word limit
Yandex Direct
Heading
including spaces and punctuation
56
Additional header
plus 15 punctuation marks over the limit
30
Ad text
plus 15 punctuation marks over the limit; text may be cut off depending on where it is shown
81
Display link
not including domain
20
Quick link - title
30
Quick link - description
60
Clarification
taking into account spaces; a total of no more than 132 characters per ad on desktop and 76 on mobile
25
Telegram
Message text
after entities parsing
4096
Media caption
after formatting parsing
1024
Description of the chat or channel
255
Bot description
512
Brief description of the bot
120
Telegram Ads
Ad text
including spaces - verbatim from the site manual
160

The comparison is made by graphemes - this is closest to what the sites consider. Each limit in the table below on the page has a link to the official documentation and date of reconciliation.

Why does the regular character counter lie?

Take a line with one emoji and run it through any counter on the Internet. Half will show 1, half 2. Both options are right in their own way: they think different things.

In JavaScript string.length returns not characters, but code ones UTF-16 units. Here are the measurements I took in the browser:

StringlengthCode pointsGraphem
hi666
😄211
🇷🇺 (flag)421
👨‍👩‍👧‍👦 (family)1171
é in composite form221

One family emoji weighs eleven units where a person sees one symbol. Practical consequence: if the field contains the attribute maxlength, it counts the same as length, — and “eat” your text ten characters earlier than you expected.

That's why there are three counters, not one. Comparison with site limits is underway in terms of graphemes, this is closest to what the sites themselves consider.

Limits with links to the source

This includes only what I opened in the official documentation and read verbatim. Each line has a link and reconciliation date.

Yandex Direct

FieldLimitClarification
Heading56, word up 22including spaces and punctuation
Additional header30, word up 22plus 15 punctuation marks over the limit
Ad text81, word up 23plus 15 punctuation marks over the limit; text may be cut off depending on where it is shown
Display link20not including domain
Quick link - title30—
Quick link - description60—
Clarification25taking into account spaces; a total of no more than 132 characters per ad on desktop and 76 on mobile

Source: yandex.ru/support/direct/ru/moderation/technical-restrictions, verified 06.09.2026

Telegram

FieldLimitClarification
Message text4096after entities parsing
Media caption1024after formatting parsing
Description of the chat or channel255—
Bot description512—
Brief description of the bot120—

Source: core.telegram.org/bots/api#sendmessage, verified 06.09.2026

Telegram Ads

FieldLimitClarification
Ad text160including spaces - verbatim from the site manual

Source: ads.telegram.org/guidelines, verified 06.09.2026

Important disclaimer regarding Direct

Direct's limits are higher for text and image ads. On the same help page there is a note: from June 30, they are available only for editing and are updated to combinatorial ones.

For combinatorial advertisements, the help publishes only counters: up to seven headings and three text options in one advertisement, up to three non-archived advertisements in a group (up to ten, including archived ones). There are no field length limits for them in the help, so I don’t include them here.

Source: yandex.ru/support/direct/ru/unified-performance-campaign/upgrade-to-comb, verified 06.09.2026

What's not here and why

This is not a flaw, but a position: an empty line is more honest than an incorrect one. Incorrect the limit is worth a rejected ad or card, and find the reason later difficult - the platform usually does not write which field was not passed.

  • VK Advertising and VKontakte. Site documentation from my network does not open. Numbers from blogs differ from each other, and an incorrect limit here costs an ad being rejected.
  • Wildberries, Ozon, Avito. Help returns 429, redirect loop and 498 respectively. Not a single limit has been confirmed by the primary source.
  • Yandex Zen. I haven’t checked the official limits yet. I'll add it when I open the documentation and write down the date.

What to do if the text doesn’t fit

Cut not according to words, but according to meaning. The most common way to meet 56 characters of the title - throw out everything from it that a person will already understand from context of the site: category name, the word “buy”, city, if it specified by targeting. The second most common is to move the clarification from the title into an additional header, which has its own limit.

Separately, keep an eye on the limit for one word: Direct has 22–23 characters depending on the field. It catches long brand names and compound terms, and the entire ad is rejected, even when the overall length is normal.

Frequently asked questions

Why do different counters show different numbers of characters?
Because they think differently. Naive string.length in JavaScript counts UTF-16 code units, not characters: one emoji 😄 gives 2, the flag 🇷🇺 gives 4, and the composite family emoji 👨‍👩‍👧‍👦 — as many as 11. A person in these cases sees one character. The browser's maxlength attribute on an input field counts the same as length, so the field may "eat" the text sooner than you expected.
Which of the three numbers should you focus on?
A grapheme is what a person and a platform usually call a symbol. Code units are useful when you're stuck on a form's maxlength or a limit on the side of your code. If there are no emojis or compound characters in the text, all three numbers will match and the question will not arise.
Are Direct limits relevant here?
They are verified verbatim with the technical restrictions page and apply to text and image advertisements. On the same page there is a note that from June 30 such advertisements are available only for editing and are updated to combinatorial ones. The reference does not publish length limits for combinatorial ones - so I’m not making them up, but writing about it directly.
Why are there no VKontakte and marketplaces?
Because I couldn’t open and check their documentation. The numbers from blogs on these sites differ from each other, and an incorrect limit in the counter costs a rejected ad or card. As soon as I check it with the original source, I will add it along with the date of verification.
Do punctuation marks count?
Direct has a separate reserve of 15 punctuation marks in excess of the main limit for the additional title and text of the ad. The tool shows the basic limit and does not try to guess what exactly the site will count as a punctuation mark: this behavior is not described in detail in the help.

Further down the chain: place a link in the ad - UTM generator, break down the budget through channels - planner, and ready-made forms for campaigns are in templates.

Other tools