Text Tool

Character Counter

Count characters and spaces for posts, forms, titles, messages, ads, and meta descriptions.

Tool statusWorks in browserNo account neededCopy-ready result

Functional text tool

Character Counter

Count user-perceived characters, Unicode representations, UTF-8 bytes, words, spaces, lines, and progress toward any custom text limit.

Result

Character measurements
Visible characters (grapheme clusters): 126
Characters without whitespace: 107
Unicode code points: 126
UTF-16 code units (JavaScript length): 126
UTF-8 bytes: 126

Structure
Words: 20
Sentences (estimated): 1
Paragraphs: 1
Lines: 1
Line breaks: 0
Regular spaces: 19
All whitespace characters: 19

Custom limit
Metric: Visible characters
Target limit: 280
Current count: 126
Status: 154 remaining
Limit used: 45.0%
Line breaks in limit count: Included
Download result
Visible characters use Intl.Segmenter grapheme boundaries when supported, so many emoji, combining marks, and non-Latin characters are handled more naturally than JavaScript string length. A website may enforce code points, UTF-16 units, bytes, or its own rules, so choose the metric that matches the destination.

Tool guide

How to use the Character Counter

A single character count can be misleading because software systems measure text in different ways. This counter treats grapheme clusters as visible or user-perceived characters when Intl.Segmenter is available, while also reporting Unicode code points, JavaScript UTF-16 code units, and UTF-8 encoded bytes. Those totals are often identical for basic English text but can diverge for emoji, combining accents, flags, skin-tone modifiers, family sequences, historic scripts, and many characters outside the Basic Multilingual Plane.

People also use this tool for

People also use this character counter to check social media captions, biographies, usernames, page titles, meta descriptions, SMS drafts, product descriptions, advertisements, application answers, accessibility text, database fields, API payloads, form responses, and any writing governed by a visible-character, code-point, UTF-16, or byte limit.

What this tool is useful for

  • Check captions, biographies, usernames, advertisements, forms, application answers, product descriptions, titles, metadata, database fields, API payloads, and other constrained text.
  • Compare visible characters with Unicode code points, UTF-16 code units, and UTF-8 bytes when emoji or multilingual writing causes systems to disagree.
  • Set any custom limit up to 10,000,000, choose its measurement method, include or exclude line breaks, and see the exact remaining or excess amount.

Practical example

The emoji 😀 usually appears as one visible character and one Unicode code point, but JavaScript string length reports two UTF-16 code units and UTF-8 encoding uses four bytes. A family emoji joined with zero-width joiners can appear as one grapheme cluster while containing several code points, many UTF-16 units, and still more UTF-8 bytes. The correct limit metric therefore depends on how the destination platform validates text.

Helpful tips

  • Ask the receiving platform what it counts. Some limits use user-perceived characters, while others use code points, UTF-16 units, encoded bytes, or product-specific weighting.
  • Spaces, tabs, nonbreaking spaces, and line breaks are all whitespace, but a platform may treat them differently. This tool reports regular spaces and total whitespace separately.
  • Google search snippets are not governed by a universal character cutoff; layout width, query, device, and rewriting can affect display, so use counts as editing guidance rather than a ranking guarantee.
  • SMS capacity depends on encoding and segmentation rules, not only the displayed character total. A message containing Unicode outside a supported GSM character set may use a different per-segment capacity.
  • The fallback used when Intl.Segmenter is unavailable counts Unicode code points, which is better than raw UTF-16 length but may split a multi-code-point visible grapheme.

Related tools and next steps

Word Counter, Sentence Counter, Meta Description Length Checker, Reading Time Calculator, Text Tools

Common questions this tool can help answer

Common character count questions this tool can help answer

  • How many visible characters are in this text?
  • Do spaces and line breaks count?
  • How many characters remain before my limit?
  • Why can an emoji count differently in another system?
  • What is the difference between code points and UTF-16 units?
  • How many UTF-8 bytes does my text use?
  • Will my title, caption, biography, or form answer fit?

Sources and methodology

The formulas, standards, and reference information on this page are checked against the authoritative sources below. External references open the original source.

Frequently asked questions

What does visible character mean?

The visible-character total counts grapheme clusters, which approximate user-perceived characters. One cluster may contain a base letter plus combining marks or several emoji code points joined into one displayed symbol.

What is a Unicode code point?

A code point is a numbered value in the Unicode codespace. JavaScript Array.from iterates strings by code point, but one user-perceived character can still contain several code points.

Why is JavaScript string length different?

JavaScript string length counts UTF-16 code units. Characters outside the Basic Multilingual Plane are represented by surrogate pairs and therefore use two UTF-16 units, while joined or combining sequences can use even more.

What are UTF-8 bytes?

UTF-8 is a variable-length encoding for Unicode. Basic ASCII characters use one byte, while other code points use multiple bytes. The tool uses TextEncoder when available to measure the encoded byte length.

How are emoji counted?

The visible total uses grapheme segmentation when the browser supports Intl.Segmenter. A single displayed emoji may consist of one code point, a surrogate pair, a base emoji plus a skin-tone modifier, two regional indicators, or a longer zero-width-joiner sequence.

Does the counter include spaces?

The main visible-character count includes spaces and other whitespace. A separate total removes all whitespace, and the structure section reports ordinary spaces and all whitespace characters independently.

Do line breaks count toward the custom limit?

They do by default. You can turn off Include line breaks in the custom limit when the destination ignores them. The general line and character statistics still describe the original text.

How does the custom limit work?

Enter a positive whole-number target, choose visible characters, characters without whitespace, Unicode code points, UTF-16 units, or UTF-8 bytes, and review the current count, remaining or excess amount, percentage used, and line-break setting.

Why can another website show a different count?

The website may use another Unicode version, segmentation library, normalization step, line-ending convention, encoding, special weighting rule, or limit metric. Its production validator controls whether the text is accepted.

Does this normalize accented characters?

No. The counter measures the entered string. A precomposed character such as é and a visually similar e followed by a combining accent can have the same grapheme count but different code-point, UTF-16, and byte totals.

Can I use this for SMS length?

It can show characters and bytes, but SMS segmentation depends on GSM character tables, extension characters, Unicode encoding, headers, and carrier behavior. Do not assume that a visible count of 160 always equals one SMS segment.

Can I use 60 characters for every page title or 160 for every meta description?

Those are common editorial guides, not universal Google display limits. Search results are influenced by rendered width, device, query, content, and Google's choice to rewrite a title or description.

Is pasted text uploaded?

The counter runs as a client-side component and calculates in the browser. It does not require an account or send the text to a counting backend, although your device, browser, extensions, clipboard, and network environment remain part of your privacy boundary.

https://wowwebtools.com/text-tools/character-counter