Character counter for text and social media

Paste any text to count characters with and without spaces, words, sentences, paragraphs, lines and reading time. To check a social post, pick one of ten platforms and the counter adds that network's documented limit, its unit and its source.

Runs in your browser.

Text and files stay on your device.

Maintained by the bundle.social team, last updated . How we check the numbers

Start typing to count.

Counts

Characters0
Characters without spaces0
Words0
Sentences0
Paragraphs0
Lines0
Reading time0 secAssumes 238 words per minute, a commonly used average for silent reading. Your pace may differ.
More figures
Graphemes0Characters as you see them
Code points0
UTF-16 units0
UTF-8 bytes0
Paragraphs0
Check a platform limit

Optional. Pick a network to check the text against that platform's documented limit.

How to use

  1. 01

    Paste or type your text

    Counts update on every keystroke: characters, characters without spaces, words, sentences, paragraphs, lines and reading time. No platform is selected, so nothing is marked as too long.
  2. 02

    Read the counts

    Characters are counted as you see them, so an emoji is one. Reading time assumes 238 words per minute, an assumption shown next to the figure. On a phone the count also stays pinned to the bottom of the screen while you type.
  3. 03

    Check a platform limit if you need one

    Under the text, pick X, Instagram, LinkedIn, TikTok, YouTube, Facebook, Threads, Pinterest, Google Business Profile or Bluesky, then the field. The counter switches to that platform's unit and shows remaining, the verdict and the source.
  4. 04

    Compare units and copy

    More figures shows graphemes, code points, UTF-16 units and UTF-8 bytes side by side. Copy the text back when it fits; if you publish through bundle.social, the separate API limit under the platform figures is what the request is checked against.

What is the difference between characters, graphemes, code points and bytes?

The family emoji (man, woman, girl and boy joined by zero-width joiners) is one grapheme (what you see), seven code points, eleven UTF-16 units and twenty-five UTF-8 bytes; with skin tones on all four it grows to eleven code points, nineteen UTF-16 units and forty-one bytes. X weighs characters, Bluesky counts graphemes and bytes, TikTok states UTF-16 units, YouTube caps descriptions in bytes, and most others do not say. The "More figures" panel shows all four so you can compare a text against whichever unit a platform turns out to use.

Limitations

  • Reading time assumes 238 words per minute for silent reading. That is an assumption, not a measurement; real reading speed varies with the reader and the text.
  • Sentences are found with the browser's sentence segmenter. An abbreviation followed by a capitalised word, such as "Dr. Smith", can be counted as two sentences.
  • Platforms rarely say whether they count graphemes, code points or UTF-16 units. Where it is not documented, this tool counts code points and says so. A text with many emoji can therefore land slightly differently in the app.
  • The limit shown is the documented text cap; it does not model truncation ("see more" cuts), link previews, auto-added mentions or formatting the app strips.
  • Limits marked "not verified" could not be read on an official page on the check date. The number stays because bundle.social applies it. Treat it as approximate.
  • The X weighted count uses the open-source twitter-text library that X documents. X can change its configuration before the library catches up.
  • Input is capped at 100,000 characters so the page stays responsive on phones.

bundle.social is not affiliated with, endorsed by, or sponsored by Instagram, Facebook, Meta, X, TikTok, LinkedIn, YouTube, Threads, Bluesky, Pinterest or any other platform named here. Platform names and logos belong to their owners and are used only to describe compatibility.

FAQ

How is the reading time calculated?

Words divided by 238 words per minute, rounded up to the next second. 238 is an assumed average for silent reading, not a measurement of you, so treat the figure as a rough guide. Words are runs of characters separated by spaces or line breaks.

Which limit should I trust: the platform's or the bundle.social API limit?

The platform limit is what the network documents for its own app or API. The bundle.social API limit is what our publishing endpoint checks before it sends the post. It is usually the same number counted in UTF-16 units, and for X it depends on whether the account has Premium.

Why does the same text give a different count on X than on Instagram?

X uses a weighted count in which every link costs 23 characters and emoji or CJK characters cost 2. Instagram documents a plain 2,200-character cap. The tool switches the counting method with the platform.

Does the counter include spaces and line breaks?

Yes, in the Characters figure, and Characters without spaces leaves out spaces, tabs and line breaks. Every platform counts spaces and line breaks, so the platform check does too. Browsers turn every line break in a text box into a single line feed, so each break counts as one character here; text sent through an API with Windows line breaks (CRLF) can count two per break.

What does "not verified" next to a limit mean?

It means the number could not be read on an official page of the platform on the check date, usually because the help centre blocked automated access. The figure shown is the one bundle.social enforces.

Is my text stored or sent anywhere?

No. Counting runs in your browser. The only network request is loading the X counting library when an X field needs it. Session recording and click analytics are switched off inside the tool area.

How does the counter decide what a sentence is?

It uses the sentence segmenter built into your browser (Intl.Segmenter), which follows the Unicode text segmentation rules: a sentence ends at a question or exclamation mark, at a full stop followed by a capital letter, or at a line break. Decimal numbers such as 3.14 do not split a sentence. Browsers without the segmenter use a simpler rule that splits at those marks when a space follows.

Which platforms can I check, and is a limit applied by default?

No limit is applied until you choose a platform. The list covers X, Instagram, LinkedIn, TikTok, YouTube, Facebook, Threads, Pinterest, Google Business Profile and Bluesky, each with its own fields, such as caption and bio or title and description. Every platform also has its own counter page with more detail.

Related tools

Publish what you prepared

bundle.social schedules and publishes posts to 15 networks from one dashboard or one API. The free plan needs no card.