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.
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:
| String | length | Code points | Graphem |
|---|---|---|---|
| hi | 6 | 6 | 6 |
| 😄 | 2 | 1 | 1 |
| 🇷🇺 (flag) | 4 | 2 | 1 |
| 👨👩👧👦 (family) | 11 | 7 | 1 |
| é in composite form | 2 | 2 | 1 |
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
| Field | Limit | Clarification |
|---|---|---|
| Heading | 56, word up 22 | including spaces and punctuation |
| Additional header | 30, word up 22 | plus 15 punctuation marks over the limit |
| Ad text | 81, word up 23 | plus 15 punctuation marks over the limit; text may be cut off depending on where it is shown |
| Display link | 20 | not including domain |
| Quick link - title | 30 | — |
| Quick link - description | 60 | — |
| Clarification | 25 | taking 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
| Field | Limit | Clarification |
|---|---|---|
| Message text | 4096 | after entities parsing |
| Media caption | 1024 | after formatting parsing |
| Description of the chat or channel | 255 | — |
| Bot description | 512 | — |
| Brief description of the bot | 120 | — |
Source: core.telegram.org/bots/api#sendmessage, verified 06.09.2026
Telegram Ads
| Field | Limit | Clarification |
|---|---|---|
| Ad text | 160 | including 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?
Which of the three numbers should you focus on?
Are Direct limits relevant here?
Why are there no VKontakte and marketplaces?
Do punctuation marks count?
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.