Skip to content

Character Counter

See exactly how long your text is in characters, Unicode code points and bytes, and how many characters remain before a limit.

Processed locally in your browser

Options

Used when "Custom limit…" is selected.

0 chars · 0 lines
The result will appear here.

What is Character Counter?

The length of a text depends on how you count it. A user sees one character in "👨‍👩‍👧", JavaScript reports 8 UTF-16 units, Unicode has 5 code points and UTF-8 needs 18 bytes. This tool shows all four measures side by side.

Pick a limit preset (280 for a post on X, 160 for one SMS, 60 for an SEO title, 155 for a meta description, 2,200 for an Instagram caption) or enter your own, choose what to count by, and get the remaining count with a clear success, warning or over-limit status.

How does it work?

  1. Type or paste your text; characters, graphemes, code points, UTF-16 units and UTF-8 bytes update live.
  2. Choose a limit preset or a custom number, and select whether the limit counts characters, code points, UTF-16 units or bytes.
  3. Read the status: green when you are under the limit, amber when close, red with the number of characters to remove.

Common use cases

  • Trimming a headline to 60 characters before it is truncated in search results.
  • Fitting a post into 280 characters or a promotional text into a single 160-character SMS.
  • Checking that a value fits a database column or API field measured in UTF-8 bytes.
  • Understanding why an emoji or accented text is "longer" than it looks.

Examples

Try this input in the tool above:

Input
Just shipped our new dashboard 🚀 Faster charts, dark mode and CSV export. Try it today!
Output
Characters (graphemes): 87
Characters without spaces: 72
Unicode code points: 87
UTF-16 units (JavaScript length): 88
UTF-8 bytes: 90
Lines: 1
Limit: 280
Remaining: 193

Privacy

Character Counter runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.

Limitations

Platforms apply their own rules (X weighs some scripts double and shortens URLs; SMS uses a 7-bit alphabet where accents and emoji switch to shorter segments), so treat the result as a close guide.

Frequently asked questions

What is the difference between characters and bytes?

A character is what you see on screen; a byte is a unit of storage. In UTF-8, "a" takes 1 byte, "é" takes 2, "你" takes 3 and most emoji take 4.

Why does JavaScript length disagree with this count?

String.length counts UTF-16 units, so an emoji outside the basic plane counts twice. Graphemes and code points match what users perceive more closely.

More tools in Text Tools →