IZN Tools

Character Counter

Characters with and without spaces, against platform limits.

An emoji counts as one character, not two
Characters0
Without spaces0
Meta title0 / 60
Meta description0 / 155
Post on X0 / 280
One SMS0 / 160
og:title0 / 88
YouTube title0 / 100
Waiting for input
Computed on this device

The limits that actually bite

| Where | Limit | What happens past it | | --- | --- | --- | | SMS (plain) | 160 | Splits into several messages, billed separately | | SMS (any accent or emoji) | 70 | Same, four times sooner | | Post on X | 280 | Rejected | | og:title | ~88 | Truncated in the share card | | YouTube title | 100 | Rejected | | Meta description | ~155 | Truncated in results |

Characters are not bytes and not code units

Three different numbers, and forms disagree about which one they enforce:

  • Characters a reader sees — what this counts
  • UTF-16 code units — what JavaScript's .length returns, so what most naive form validators use
  • Bytes — what a database column limit measures

A Cyrillic sentence is the same character count as its Latin equivalent, twice the bytes in UTF-8, and the same number of code units. An emoji is one character, two code units, and four bytes. If a form rejects text you counted as fitting, it is counting one of the other two.

Counting for a database column

If the constraint is varchar(255), you are constrained by bytes or by characters depending on the database and the collation. Assume the stricter reading and leave headroom — running out mid-insert is a worse failure than a slightly short field.

Questions

Why does my emoji count as one character here and two elsewhere?+

Because most tools count UTF-16 code units rather than characters a reader sees. An emoji is usually two code units, and a flag or a skin-toned emoji can be four or more. This counts what a person would count, which is also what a well-built form should.

Are these limits official?+

They are what each platform truncates or rejects at, which is not always what its help page says. Treat them as practical guidance and verify anything you are relying on — platforms change them without notice.

Does an SMS really cut off at 160?+

At 160 for plain GSM characters. One non-GSM character — an emoji, a Cyrillic letter, a curly apostrophe — switches the whole message to a different encoding and the limit drops to 70. That is why a message that fits suddenly becomes three messages after one edit.

Why measure a meta title in characters at all?+

You should not, mostly — Google truncates by pixel width. This is useful for platforms that genuinely count characters. For search results, use the [meta title generator](/t/meta-title-generator), which measures the rendered width.