Open Tools LibraryOpen Tools Library
Text & Writing Tools

Character Counter

The character counter that actually counts emoji correctly.

Also known as: Character count tool, Letter counter, SMS segment calculator

100% FreeNo Signup RequiredEmoji-Accurate Counting11 Platform Limits Built In
100% local — nothing you enter here ever leaves this browser tab
Loading tool…
Step by step

How it works

  1. 1Type or paste your text into the box.
  2. 2Read your accurate character count, UTF-8 byte size, and SMS segment count at the top.
  3. 3Scroll down to see a live, color-coded countdown against limits for X, meta descriptions, YouTube, Instagram, and more.
  4. 4Copy your text back out with one click when you're done.
Why OTL

Why use Character Counter

Actually counts emoji correctly

Uses proper Unicode grapheme-cluster counting instead of naive string length, so emoji and accented characters count as one character — because that's what they are.

Byte size, not just character count

Shows the exact UTF-8 byte size of your text, which matters for anything with a byte-based storage or transfer limit.

Real SMS segment math

Detects GSM-7 vs. UCS-2 encoding automatically and shows exactly how many message segments your text will actually send as.

11 platform limits at once

Checks your text against X, meta descriptions, title tags, YouTube, Instagram, Facebook, LinkedIn, TikTok, Google Ads, and SMS — all live, all at the same time.

Color-coded countdown

Each limit's progress bar shifts from brand color to amber to red as you approach and exceed it, so you never have to squint at a raw number.

Nothing ever uploaded

Every count is calculated locally — your text is never sent anywhere just to be measured.

Real-world use

Who uses Character Counter

Writing a meta description

Check that an SEO meta description stays under the roughly 160-character point where Google typically truncates it.

Fitting a post to X's limit

Confirm a post — including any emoji — actually fits inside the 280-character cap before posting.

Checking SMS segment count

See whether a text message will send as one segment or split (and cost more) across multiple segments.

Writing a Google Ads headline

Stay inside the tight 30-character headline limit that Google Ads enforces.

Trimming a YouTube title

Check a video title against YouTube's 100-character limit before it gets cut off in search results.

Auditing a bio or caption with emoji

Get an accurate count for an Instagram or TikTok caption that mixes emoji with text, where naive counters overcount.

Deep dive

About Character Counter

"How many characters is this?" sounds like the simplest question a tool could answer, and for plain English text it usually is — but the moment emoji, accented letters, or symbols enter the picture, most character counters quietly get it wrong. A naive counter that just checks a string's length will report a single flag emoji or a combined accented character as two, three, or even four characters, because under the hood those are made of multiple underlying code units. That's not a rounding error — it can be the difference between a text message you thought fit in one segment actually splitting into two, or a caption you thought was under a limit actually going over it.

This tool avoids that by using the browser's own Unicode text-segmentation engine (Intl.Segmenter) to count grapheme clusters — the technical term for what a person would call "one character on screen," regardless of how many underlying code points it takes to represent. When your text contains anything that would trip up a naive counter, the tool flags it directly and shows you both numbers side by side, so you can see exactly why an accurate count matters for your specific text.

Character limits aren't just one number, either — they're different everywhere. A meta description gets cut off by Google around 155–160 characters; an SEO title tag around 60; an X post caps at 280; SMS messages split into multiple "segments" at 160 characters for plain text but only 70 for a message containing a single emoji. This tool checks your live character count against a running list of these real limits at once, color-coded so you can see at a glance what still has room and what's already over.

The SMS section goes a layer deeper than a simple countdown: it detects whether your message qualifies for the more permissive GSM-7 encoding or falls back to UCS-2 (which happens the moment you use an emoji or certain accented or non-Latin characters), and calculates exactly how many segments your message will actually send as — including the lower 153/67-character-per-segment math that applies once a message needs to be split across more than one segment. Like every tool on this site, all of this runs locally in your browser; your text is never transmitted anywhere to be counted.

Compare

Character Counter vs. other options

How Open Tools Library compares to desktop software and other online tools.

FeatureOpen Tools LibraryDesktop softwareOther online tools
PriceFree, unlimitedFree (built into some editors)Often free
Emoji-accurate countingYes, grapheme-basedRare, often inaccurateRare, often inaccurate
Platform limit presets11 built inNot availableUsually one at a time
SMS segment mathBuilt in, with encoding detectionNot availableRare
Data privacyNever leaves your deviceStays localOften sent to a server
SpeedInstant, live as you typeInstantVaries by site
Pro tips

Pro tips

  • If your text contains any emoji, always check the accurate count — naive tools built on plain string length will overcount emoji-heavy text.
  • A single emoji in an SMS forces the entire message into UCS-2 encoding, dropping your per-segment limit from 160 to 70 characters — remove it if you're trying to stay in one segment.
  • Google doesn't truncate meta descriptions and title tags at an exact character count — it's pixel-width based — so treat the 160 and 60 limits shown here as a safe estimate, not an exact cutoff.
  • For X posts, links and mentions count toward the character limit too, so leave a little headroom if your text will include either.
  • Byte size matters more than character count for systems with a storage or upload size cap measured in bytes, like some form fields or legacy databases.
Under the hood

Technical specs

Counting method
Unicode grapheme clusters (Intl.Segmenter)
Byte size
UTF-8 encoded
SMS encoding detection
GSM-7 or UCS-2, automatic
Platform limits included
11 presets
Text length limit
None enforced
Processing location
100% local, in your browser

Privacy & security

A character counter often sees a message before you send it — a text, a caption, a headline you haven't published yet — so it's worth knowing it isn't quietly being logged somewhere.

Counting, byte-size calculation, and every limit check all run locally — your text is never sent to a server.

No account, signup, or email address is needed to use any part of this tool.

Nothing you type is stored or cached anywhere — close the tab and it's gone.

Equally private whether you're checking a public tweet or a text message you haven't sent yet.

FAQ

Frequently asked questions

Is my text sent anywhere to be counted?

No. Every count, byte size, and limit check happens locally in your browser — your text is never transmitted anywhere.

Why does this tool's count differ from a basic .length check?

A basic length check counts underlying Unicode code units, which overcounts emoji, flags, and many accented characters. This tool counts grapheme clusters — what a person actually perceives as one character — which is almost always what you actually want.

How is the SMS segment count calculated?

It detects whether your message fits the GSM-7 character set (160 characters per segment, 153 once split across multiple segments) or requires UCS-2 (70 characters per segment, 67 when split) — the same math carriers use.

Are the platform limits shown exact?

Most are exact character limits enforced by the platform. Google's title tag and meta description limits are estimates, since Google truncates based on pixel width rather than a fixed character count.

Can I add my own custom character limit?

The built-in list covers the most commonly needed limits. For a one-off custom limit, the raw character count at the top updates live as you type, so you can compare it to any number yourself.

Is there a limit to how much text I can check?

No hard limit — everything is calculated instantly on your device regardless of length.

Stuck?

Troubleshooting

The character count seems lower than what my text editor shows

That's expected if your text has emoji or accented characters — this tool counts them as one character each (how they actually appear), while many text editors count the underlying code units, which can be two or more per character.

My SMS is showing as UCS-2 encoding when it's just plain English

Check for characters like curly quotes, em dashes, or emoji pasted in from another app — these fall outside the basic GSM-7 character set and force the more limited UCS-2 encoding.

My meta description looks fine at 160 characters but still gets cut off on Google

Google's truncation is based on pixel width, not a strict character count — wide characters like "W" or "M" take up more room than narrow ones like "i", so treat 160 as a safe estimate rather than an exact rule.

Why does the byte count differ from the character count?

Plain English letters are 1 byte each in UTF-8, but emoji, accented letters, and many non-Latin characters take 2–4 bytes each — so byte count grows faster than character count once you're using anything beyond basic English text.

Ready to use Character Counter?

Free, private, and ready right now — no signup required.

Scroll to Character Counter