Character Counter

Free online character counter. Paste or type your text and instantly see characters with and without spaces, words, sentences, emoji, SMS segments, and how you fit 16 platform limits. No signup. No upload. Your text never leaves your browser.

Your text never leaves your browser. Nothing is uploaded or stored.

Live Statistics
0
Characters (with spaces)
0
Characters (no spaces)
0
Words
0
Sentences
0
Paragraphs
< 1 min read
Reading Time
< 1 min speak
Speaking Time

Characters use raw character length — the figure platform limits enforce · Reading time at 238 WPM (Brysbaert 2019) · Speaking time at 130 WPM, presentation pace

What Your Characters Are Made Of
0
Spaces & breaks
0
Letters
0
Digits
0
Punctuation
0
Emoji
0
Visible characters
0
X-count (X's weighted rules)
0
UTF-8 bytes (storage size)

Visible characters count what a human sees (one 👨‍👩‍👧‍👦 family emoji = 1) · X-count reproduces X/Twitter's official weighted counting: every emoji counts as 2, CJK characters count as 2, and every URL counts as exactly 23 characters (t.co), after NFC normalization · UTF-8 bytes measure storage size: é = 2 bytes, € = 3, most emoji = 4

Invisible Character Detector

Clean

Zero-width spaces, byte-order marks, non-breaking spaces, soft hyphens, and bidi controls hide inside text copied from websites and Word documents. They break code, corrupt database fields, and make "identical" strings fail exact-match comparisons — and ordinary character counters never show them.

No hidden characters found — your text is clean.

Stripping removes zero-width spaces, byte-order marks, soft hyphens, word joiners, bidi controls, and stray control characters, and converts non-breaking spaces to regular spaces. Zero-width joiners inside emoji are protected — they are the glue that holds family and couple emoji together — and zero-width non-joiners are preserved because they carry meaning in Arabic, Persian, and Indic scripts.

How Your Text Fits 16 Platform Limits

Updates as you type. Dashed markers on the bars show the fold point — where the feed hides your text behind a "see more" button.

Common budgets: meta description 155 · Google Ads headline 30 · email subject 45 · tweet 280

Platforms do not count characters the same way, so each row is metered with that platform's own rules. The two X rows use X's weighted count (every emoji and CJK character counts as 2, every URL counts as 23). The Bluesky row counts grapheme clusters — what a human sees — because that is what Bluesky's limit is enforced on. Every other row counts raw characters with spaces. The same text can therefore show three different totals in this panel, and all three are correct. Fold points: Instagram shows about 125 characters before "more", LinkedIn about 210 on desktop (140 on mobile), TikTok roughly the first 100. All limits were last verified in September 2026.

SMS Segment Analyzer

How your text splits into billable SMS segments — GSM-7 plain text or UCS-2 Unicode, with per-segment sizes and hidden costs.

GSM-7
Encoding
0
Billable characters
160
Per segment
0
Segments
0 / 160

Plain GSM-7 text — one segment holds up to 160 characters.

How to Use the Character Counter

  1. Paste or type your text. Click the text area at the top of the page and paste your content or type directly. All counts update instantly as you write — no button press, no page reload.
  2. Read the character count. The primary count shows characters with spaces, which is the number all major platforms enforce. The secondary count shows characters without spaces, used in translation and some academic workflows.
  3. Check the platform limits panel. See how your text measures against 16 platform limits simultaneously — including Twitter/X, Instagram, LinkedIn, TikTok, and the meta description budget — with each platform's own counting rules applied.
  4. Check the SMS Segment Analyzer. If you are writing an SMS, watch the encoding (GSM-7 or UCS-2), the segment count, and exactly which characters are triggering UCS-2 encoding unexpectedly.
  5. Set a custom limit. Enter any character budget the platform panel does not cover. The tool shows remaining characters and highlights the moment you exceed the limit.

What This Character Counter Shows

Paste your text or type directly into the box above. Your character count, word count, sentence count, paragraph count, reading time, speaking time, and live platform limits all update the moment you start typing. No account. No upload. No page reload. Everything runs in your browser.

This is the character counter built for professionals who need more than a number. You get the exact count that platforms actually enforce, the encoding that your SMS message is using, the fold point where Instagram and LinkedIn truncate your text, and a live comparison against 16 platform limits at once. One paste, every answer. Most character counters give you one number — this one gives you everything that number connects to.

MetricWhat it measuresWho needs it
Characters (with spaces)The raw character count including every space and line break. This is the number social media platforms, SMS gateways, and SEO tools enforce.Social media managers, SMS marketers, SEO writers, copywriters
Characters (without spaces)Total characters after removing all spaces and whitespace. Used in translation agency pricing, academic submissions in some countries, and typesetting.Translators, academic writers, localization professionals
Visible charactersGrapheme clusters per Unicode Standard Annex 29. A family emoji (11 raw code units) counts as 1 here. This is what a human reader perceives.Anyone troubleshooting why two tools show different counts
X/Twitter weighted countApplies the official X weighted system: emoji count as 2, CJK characters count as 2, every URL counts as 23, Latin letters count as 1.Social media managers writing for X
WordsStandard word count. Hyphenated terms (well-known) count as one word.Writers, editors, students, bloggers
SentencesCount of sentences detected by terminal punctuation.Editors, UX writers, content strategists
ParagraphsBlocks separated by a blank line.Long-form writers, journalists, academic writers
Letters onlyAlphabetic characters, no digits or punctuation.Password validation, certain academic requirements
Digits onlyNumeric characters in the text.Developers validating numeric input
Emoji countNumber of emoji detected by grapheme cluster analysis.Social media managers budgeting platform limits
Invisible charactersHidden Unicode detected live: zero-width spaces, byte-order marks, non-breaking spaces, soft hyphens, bidi controls, and stray control characters.Developers, SEO specialists, anyone debugging “identical” strings that refuse to match
UTF-8 bytesStorage size of the text when encoded in UTF-8 — the unit databases, APIs, and byte-based limits measure. é = 2 bytes, € = 3 bytes, most emoji = 4 bytes.Developers checking VARCHAR limits, API payloads, and encoding costs
SMS segmentsNumber of billable message parts under GSM-7 or UCS-2 encoding, computed live.SMS marketers, business messaging teams
Reading timeEstimated at 238 WPM (Brysbaert 2019 meta-analysis, 190 studies, 18,573 participants).Bloggers, content marketers, UX writers, newsletter editors
Speaking timeEstimated at 130 WPM (standard formal presentation pace).Public speakers, podcasters, educators, corporate trainers

The reading time figure comes from Marc Brysbaert's 2019 meta-analysis published in the Journal of Memory and Language. Most tools still use 200 WPM (too slow) or 300 WPM (a speed-reading marketing number from the 1970s). The research-accurate figure for adults reading English non-fiction silently is 238 WPM — that is the number this tool uses, and the reading time calculator covers it in full depth. The speaking time figure is estimated at 130 WPM, the standard formal presentation pace — the speaking time calculator covers pace presets, rehearsal timing, and format-specific word targets in depth.

Characters With Spaces vs Without Spaces: Which One Do You Need?

Every character counter shows two numbers. Almost none explains which one you actually need for a given task. Here is the clearest breakdown of when each one applies.

The rule is simple

Platforms enforce characters with spaces. Every social media network, every SMS gateway, every ad platform, and every SEO character limit counts spaces as characters. When Twitter/X says you have 280 characters, spaces count toward that 280.

Some academic and professional workflows use characters without spaces. Translation agencies often price work per character without spaces. Some European universities specify abstract length in characters excluding spaces. Japanese and Chinese academic submissions sometimes use character counts that are inherently spaceless because CJK languages do not use word-separating spaces.

Use caseWhich count to useWhy
Twitter/X postWith spacesPlatform enforces character count including all spaces and line breaks
Instagram captionWith spacesAll 2,200 characters include spaces; feed shows first 125 before truncation
LinkedIn postWith spacesAll 3,000 characters include spaces; feed shows roughly the first 210 before the fold
SMS messageWith spacesGSM-7 segment limit of 160 characters counts every space
Meta descriptionWith spacesGoogle measures character width; spaces count toward the 150-160 display limit
Translation quoteWithout spacesMany agencies price per character without spaces (standard in the translation industry)
Academic abstract (many universities)Check requirementsSome specify with spaces, some without; requirements vary by institution and country
Typesetting / print layoutWithout spacesGlyph count for visible characters, not whitespace

Spaces and line breaks typically make up 15 to 20 percent of English text. That means a 160-character SMS draft that looks fine at 136 characters without spaces may already be over limit when you count the spaces. Always use the with-spaces number unless you have a specific reason not to.

Words to Characters: The Quick Conversion Table

The average English word is about 4.7 letters long. With its trailing space, a word averages roughly 6 characters in practice. Use this table for planning, not precision — paste your actual text above for the exact figure.

Word countApprox. characters (with spaces)Platform context
13 words~80 charactersTikTok bio limit
25 words~150 charactersInstagram bio limit
27 words~160 charactersOne standard SMS segment
47 words~280 charactersTwitter/X free post limit
83 words~500 charactersThreads post limit
100 words~600 charactersPlanning benchmark
35 words~210 charactersLinkedIn post fold — visible before "see more" on desktop
250 words~1,500 charactersPlanning benchmark
367 words~2,200 charactersInstagram caption maximum
500 words~3,000 charactersLinkedIn post maximum
667 words~4,000 charactersTikTok caption limit (raised from 2,200 in 2023)
1,000 words~6,000 charactersPlanning benchmark
2,000 words~12,000 charactersPlanning benchmark

These conversions use ~6 characters per word including spaces. Conversational text runs shorter (~4-5 chars/word). Technical and academic writing runs longer (~7-8 chars/word). Paste your real text for an exact count.

How Characters Are Counted: Code Units, Code Points, and Grapheme Clusters

If you have ever pasted the same text into two different character counters and seen different totals, the disagreement is almost always about what "one character" means. Computers count text in three different ways, and every counter has to pick one. This is the clearest explanation you will find of all three.

Code Units: What Platforms Actually Enforce

JavaScript, Java, and virtually every social platform use UTF-16 code units internally when they enforce a character limit. For ordinary English text, one character equals one code unit, so the count matches what you see. The difference appears only for characters outside the basic multilingual plane.

A simple thumbs-up emoji (one visible character) is 2 code units. An emoji with a skin tone modifier is 4 code units. A flag emoji is 4 code units. A family emoji built with zero-width joiners is 11 code units. This is why emoji consume your Twitter/X budget so fast, and why your message can be "short" visually but over the platform limit technically.

Code Points: The Unicode Catalog Entry

A code point is a single entry in the Unicode character catalog. Every character that humans use in any language has at least one code point. The family emoji has 7 code points (four people plus three zero-width joiners). Code points matter most to developers building text processing systems.

Grapheme Clusters: What a Human Reader Sees

A grapheme cluster is what a human perceives as one character, defined formally in Unicode Standard Annex 29. The family emoji, regardless of how many code points or code units it uses, is one grapheme cluster because a reader sees one thing. The "visible characters" metric in this tool counts grapheme clusters. This is the number that matches human intuition.

TextCode units (raw count)Code pointsGrapheme clusters (visible)
Hello555
café (precomposed é)444
café (e + combining accent, U+0301)554
Thumbs-up emoji211
Thumbs-up with skin tone modifier421
US flag emoji421
Family of four emoji (with ZWJ)1171

The café row (combining accent) is the classic tripwire. The same visible word can be 4 or 5 characters depending on how the text was encoded before you pasted it. This is the most common reason two counters disagree about identical-looking text.

Source: Unicode Standard Annex #29, "Unicode Text Segmentation" — the document that defines grapheme clusters, the perceived-character standard this tool's "visible characters" count follows. Read UAX #29 at unicode.org — maintained by the Unicode Consortium, the same body that publishes the Unicode Standard itself.

Why Two Counters Disagree About the Same Text

None of these units is wrong. They answer different questions. Raw code units tell you what a platform will enforce. Grapheme clusters tell you what a reader sees. Code points help programmers. A character counter that does not say which unit it uses is the root cause of most "why are these different?" confusion you will ever encounter with text tools.

This tool shows the raw count by default (because limits are enforced against raw code units), the visible count separately, and explains both. If you paste the same text into a tool that counts grapheme clusters and one that counts code units, you will see different numbers for text that contains emoji. Neither tool is wrong. They are measuring different things.

The Characters You Cannot See

There is a fourth category of character that makes every counting question harder: the ones with no visible glyph at all. Text copied from websites, PDFs, and Word documents routinely carries hidden Unicode — a zero-width space (U+200B) inserted by a content management system, a byte-order mark (U+FEFF) left over from an exported file, a non-breaking space (U+00A0) from a web form, or a soft hyphen (U+00AD) buried mid-word. To every character counter they look like ordinary characters. To your code, your database, and your search index they are landmines: two strings that render identically can fail an exact-match comparison because one of them contains a character that cannot be seen.

The security dimension is real and documented. Bidi override characters (U+202A to U+202E) can reorder how source code displays versus how it compiles — the technique researchers named “Trojan Source” (CVE-2021-42574), which slipped malicious logic past human code review. At the everyday end, the most common casualties are database imports, CSV parsing, coupon codes, and string comparisons that fail for no visible reason. The Invisible Character Detector in the tool above counts each hidden character type live as you type, and the Strip Hidden Characters button removes the dangerous ones in one click.

The stripper is deliberately conservative. Zero-width joiners that hold multi-person emoji together are protected, because removing them would split 👨‍👩‍👧‍👦 into four separate people. Zero-width non-joiners are preserved too, because they carry real meaning in Arabic, Persian, and Devanagari script shaping. Everything else that is invisible and accidental — zero-width spaces, byte-order marks, soft hyphens, word joiners, bidi controls, and stray control characters — is removed, and non-breaking spaces are converted to the regular spaces they impersonate.

How X/Twitter Counts Characters: The Weighted System Explained

Twitter/X does not count characters the way most tools do. It uses a weighted system defined in the open-source twitter-text library, where different character types contribute different amounts to the 280-character limit. Understanding this system is the difference between crafting a post that fits and one that gets cut off.

The Official Character Weights

Character typeWeightMaximum at this weight
Latin letters, digits, punctuation, common symbols (U+0000 to U+10FF)1 character280 of these fit
General punctuation including the zero-width joiner (U+2000 to U+200D)1 characterZWJ sequences do not reduce the emoji count further
Hyphens, dashes, and curly quotation marks (U+2010 to U+201F)1 characterStandard dashes and typographic quotes
Prime marks (U+2032 to U+2037)1 characterMeasurement marks
Emoji (all types, all skin tones, all ZWJ sequences)2 charactersMaximum 140 emoji per post
CJK characters (Chinese, Japanese, Korean, and related scripts)2 charactersMaximum 140 CJK characters per post
All other Unicode (default weight)2 charactersCurrency symbols (₹ ₽ €), math and arrow symbols, Latin Extended Additional (Vietnamese), polytonic Greek

The URL Rule Most Tools Miss

Every URL in a post counts as exactly 23 characters, regardless of its actual length. A 200-character URL counts as 23. A 12-character URL also counts as 23. This is because X automatically shortens all URLs through its t.co link shortener. A counter that measures the raw character length of a URL in a post will always give you the wrong weighted count — the X-count on this page applies the 23-character rule automatically, and the Twitter character counter applies it too.

What Counts as Zero Characters

Images, videos, GIFs, and polls attached through official X apps count as 0 characters. Mentions that auto-populate at the beginning of a reply also count as 0. Only the body text you write counts against the limit — which is why the media checkbox above exists: attach four photos and your full 280-character budget is still yours.

NFC Normalization

X normalizes all text to Unicode NFC (Normalization Form Composed) before counting. This means a decomposed e-plus-accent sequence is collapsed to a single precomposed character before the limit is applied. The practical effect: X always measures the most compact form of your text, and so does the X-count in this tool.

X/Twitter Character Limits Cheat Sheet

FieldLimitNotes
Post (free account)280 weighted charactersEmoji and CJK count as 2; URLs always count as 23
Post (X Premium)25,000 charactersFirst 280 displayed before "Show more" button
Bio160 charactersStandard weighted counting applies
Display name50 charactersStandard weighted counting
Username15 charactersLetters, numbers, and underscores only
Direct message10,000 charactersStandard weighted counting
Alt text for images1,000 charactersStandard weighted counting

SMS Character Limits: GSM-7, UCS-2, and Segment Billing Explained

SMS character counting is the most technically complex and most practically consequential counting problem in everyday messaging. Getting it wrong does not just mean your message looks odd — it means your SMS marketing campaign bills three times what you budgeted for.

The Two Encoding Tiers

EncodingSingle SMS limitPer segment (long messages)What one character costsTriggered by
GSM-7 (standard)160 characters153 characters7 bitsLatin letters, digits, basic punctuation, common symbols
GSM-7 extension tableFewer than 160Fewer than 15314 bits (2 slots each){ } [ ] \ | ~ ^ and the euro sign
UCS-2 / Unicode70 characters67 characters16 bitsAny emoji, curly quotes, non-Latin scripts, accented chars outside GSM-7

Source: 3GPP TS 23.038, the specification that defines SMS character encoding — used by every GSM carrier globally.

Why One Emoji Makes Your 160-Character Message Cost Three Times More

A 140-character plain-text message in GSM-7 is one segment and costs one SMS billing unit. Add a single emoji and the entire message switches to UCS-2 encoding. The per-segment limit drops from 160 to 70 characters. Your 140-character message, now in UCS-2, needs three segments of 67 characters each to transmit. You pay three billing units instead of one.

This is not hypothetical. A 160-character marketing message at scale, accidentally triggered into UCS-2 by a single emoji in the sign-off, triples the send cost for the entire campaign. The SMS Segment Analyzer in this tool shows encoding detection and segment count in real time before you hit send.

The Curly Quote Trap: The Most Expensive Invisible Character

Word processors (Microsoft Word, Google Docs, Apple Pages) automatically replace straight quotation marks (") with typographic curly quotes ("). Curly quotes are not in the GSM-7 character set. If you draft a professional SMS in Word and paste it into your send platform, every curly quote silently forces UCS-2 encoding and shrinks your segment from 160 to 70 characters.

A 158-character SMS drafted in Word with one curly apostrophe in "don't" becomes three segments. Three billing units instead of one. This is the single most common invisible billing error in SMS marketing.

Fix: always draft SMS copy in a plain-text editor, or paste it into this tool first. The SMS Segment Analyzer above lists the exact characters triggering UCS-2 in your text, and the Convert to GSM-7 Safe button replaces curly quotes, dashes, and ellipses with their plain-text equivalents in one click. The same rules apply to any SMS character counter.

GSM-7 Extension Characters: The Hidden Two-Slot Tax

Ten characters sit in the GSM-7 extension table rather than the main table — nine visible characters plus the rarely used form-feed control character. Each one takes two character slots to encode, not one. The nine visible ones are: { } [ ] \ | ~ ^ and the euro sign (€). A message containing three euro signs effectively uses 6 character slots, not 3. Most character counters, including the most popular competitors, do not detect this — the analyzer above counts extension characters at their true 2-slot cost.

Why Long Messages Use 153 or 67 Characters Per Segment

When a message is longer than one segment, each segment includes a 7-byte User Data Header (UDH) that carries reassembly instructions so the recipient's phone knows how to put the pieces back together in the right order. That header consumes space inside the segment, which is why long messages use 153 characters per segment (not 160) for GSM-7 and 67 per segment (not 70) for UCS-2.

Message typeSegment limitHeaderEffective characters
Single GSM-7 message160 octetsNo header needed160 characters
Multi-part GSM-7 message160 octets per part7-byte UDH per part153 characters per part
Single UCS-2 message140 octetsNo header needed70 characters (16 bits each)
Multi-part UCS-2 message140 octets per part7-byte UDH per part67 characters per part

The Complete 2026 Character Limits Reference

Every limit below was verified against official platform documentation or help pages in September 2026. Platform limits change more often than most reference tables acknowledge — TikTok changed its caption limit three times between 2020 and 2023, and LinkedIn doubled its post limit from 1,300 to 3,000 in June 2023. Any limits table without a verification date should be treated as potentially outdated.

Social Platforms

PlatformLimitFold point (before "see more")Notes
Twitter/X post (free)280Full post shownEmoji and CJK count as 2; URLs always 23
X Premium post25,000First 280 shownSame weighted counting rules apply
X bio160N/AUsername: 15 chars; Display name: 50 chars
Instagram caption2,200~125 charactersFirst 125 chars shown in feed before "more" button
Instagram bio150N/AUsername limit: 30 characters
LinkedIn post3,000~210 charactersDoubled from 1,300 in June 2023; about 210 visible on desktop, 140 on mobile
LinkedIn headline220N/AAbout section: 2,600; Comments: 1,250; Connection note: 200 (free) / 300 (Premium)
TikTok caption4,000~100 charactersRaised from 2,200 in 2023; bio limit: 80 characters
Facebook post63,206N/ASome sources cite 33,000 (API limit may differ from web interface)
Threads post500N/AText attachments added September 2025 allow up to 10,000 characters
Bluesky post300N/ACounts grapheme clusters, not raw code units (different from X)
Discord message2,000N/ANitro subscribers can send up to 4,000 characters
Reddit post title300N/AText post body: 40,000 characters; Comments: 10,000 characters
Pinterest pin description500N/APin title: 100 characters; ad descriptions can run to 800
YouTube video title100N/ADescription: 5,000 characters; Tags combined: 500 characters
Snapchat caption~80N/AVaries by feature; Chat messages: up to 500 characters
WhatsApp message65,536N/AStatus captions: approximately 700 characters

The Fold Point: Why the Hard Limit Is Not the Real Limit for Social Media

Every platform has two limits: the hard limit (the maximum characters you can publish) and the fold point (the characters visible in the feed before a reader has to tap "more"). The fold point is strategically more important than the hard limit for virtually all social media content, because everything below the fold requires a deliberate tap most readers never make.

The gap between the two numbers is enormous. An Instagram caption can run to 2,200 characters, but the feed shows about 125 before the "more" button — the effective strategic limit for your hook is 125, not 2,200. A LinkedIn post can run to 3,000 characters, but roughly the first 210 are visible on desktop and about 140 on mobile, where most LinkedIn reading happens. A TikTok caption can run to 4,000 characters, but only the opening line or two — roughly the first 100 characters — appears before the caption is cut.

The practical rule: write your hook to fit inside the fold point, and treat everything after it as bonus material for the readers who tap. The limits panel above marks each platform's fold point with a dashed line on its meter, so you can watch your hook cross the fold in real time while you draft. No other character counter makes the distinction visible.

Search, Ads, and SEO

FieldRecommended limitHard limitNotes
Google title tag50-60 characters~70 characters (before pixel truncation)Google truncates at ~600 pixels width, not fixed character count; 60 chars is safe for most titles
Google meta description150-155 characters~160 characters displayedGoogle truncates at ~920 pixels (about 158 characters on average); put key message in first 100 for mobile truncation
Google Ads headline30 characters30 charactersUp to 15 headlines per responsive search ad; at least 3 recommended
Google Ads description90 characters90 charactersUp to 4 descriptions per responsive search ad
YouTube video title100 characters100 charactersFirst 60-70 characters show in search results
YouTube description (above fold)~150 characters5,000 characters totalFirst line shown before "Show more" in search; first 100-150 critical
Email subject line30-50 characters recommendedVaries by clientMobile clients show roughly 33-43 characters; front-load the key words
Email preheader text85-100 charactersVaries by clientShown as preview text after the subject line in inbox view
Push notification title40-60 charactersVaries by OSiOS and Android clip titles at different lengths

Title tags are truncated by pixel width, not character count. Narrow letters (l, i, 1, f) take less space than wide letters (W, M, m). A 60-character title made of wide letters may truncate; a 65-character title made mostly of narrow letters may display in full. The 60-character guideline is a safe rule for mixed text.

Professional and App Store

Platform or fieldCharacter limitNotes
LinkedIn Direct Message8,000 charactersInMails under 400 characters earn 22% higher response rates (LinkedIn's own research)
Google Business Profile review response4,096 charactersApplies to owner responses on reviews
Yelp review5,000 charactersMinimum 85 characters required
Apple App Store description4,000 charactersFirst few lines visible before the "More" tap
Google Play Store description4,000 charactersShort description: 80 characters
APA abstract250 words (not characters)Word limit, not character limit; verify current journal requirements
Common App personal statement650 wordsWord limit, not character limit
LinkedIn connection request300 characters200 for free accounts; 300 for Premium and Sales Navigator
Facebook post limit, stated precisely: 63,206 characters is the confirmed web-interface limit as of September 2026. CharacterCounter.com and several other tools list 33,000 — a figure that appears to reflect what Facebook's API enforces for programmatic posts rather than what the web interface allows when you post manually. Publishing the verified number plus the source of the disagreement is deliberate: on a disputed figure, the verification date and the reasoning are the trust signal.
TikTok caption limit correction: the current limit is 4,000 characters (updated in 2023). Any tool or guide still showing 2,200 for TikTok captions is outdated — that includes most competing character counter tools as of September 2026.

How to Count Characters in Word Processors and Other Tools

Most word processors can show you a character count, but almost none show it live as you type. Here is how to find it in the most common tools, and why most writers end up here instead.

Google Docs

Open the Tools menu and select Word count. The dialog box shows characters with spaces and characters without spaces. This is a dialog, not a live counter — it does not update as you type without reopening it. The keyboard shortcut is Ctrl+Shift+C on Windows or Command+Shift+C on Mac. To check a selection only, highlight the text first and then open Word count; the dialog will show counts for the selected text.

Microsoft Word

Go to the Review tab in the ribbon and click Word Count. The dialog shows characters with and without spaces. Like Google Docs, this is not a live counter — it shows the count at the moment you open it. The status bar at the bottom of the Word window shows a live word count but not a live character count.

Excel

Excel has no native character count display. Use the LEN() function in a cell: =LEN(A1) returns the character count of the text in cell A1, including spaces. To exclude spaces, use =LEN(SUBSTITUTE(A1," ","")).

Notion, Slack, Discord, and Others

Most collaborative tools do not have a built-in character counter. The standard workflow is to paste your draft here, check the count, then paste the final version into the target application.

The most common workflow for professional writers: draft in the word processor, paste the final text into this tool for the character check, then copy the approved text to the platform. This workflow catches the encoding issues — curly quotes from Word becoming UCS-2 triggers in SMS — before they cause problems.

Who Uses a Character Counter and For What

Character counters serve very different professionals for very different reasons. Here is the complete map of use cases and the specific limits that matter for each.

WhoPrimary use caseKey limits to watch
Social media managersDrafting and checking posts across multiple platforms simultaneouslyX: 280; Instagram caption: 2,200 (fold: 125); LinkedIn: 3,000 (fold: 210); TikTok: 4,000 (fold: 100)
SMS marketersEnsuring campaigns stay in one segment and in GSM-7 encodingGSM-7: 160 per segment; UCS-2: 70 per segment; watch for curly quotes and extension characters
SEO writers and strategistsTitle tags and meta descriptions that display fully in search resultsTitle tag: 50-60 characters; Meta description: 150-155 characters
CopywritersAd headlines, taglines, CTAs, and promotional copyGoogle Ads headline: 30 characters; description: 90 characters; Facebook ad headline: 40 characters
Students and academic writersEssays, abstracts, application personal statementsVaries by institution; Common App: 650 words; APA abstract: 250 words
Translators and localization professionalsPricing by character (often without spaces), fitting translated text into UI spaceCharacters without spaces for pricing; with spaces for UI character limits
Developers and engineersValidating string lengths, database field constraints, API payload sizes, and debugging invisible characters that break exact-match comparisonsVaries by schema; VARCHAR field limits; API character limits; UTF-8 byte budgets
UX and UI designersChecking that button labels, alert messages, and tooltips fit within design constraintsVaries by design system; typically 20-40 characters for button labels
Email marketersSubject lines and preheader text that display completely on mobileSubject line: 30-50 characters recommended; Preheader: 85-100 characters
Authors and bloggersBio fields, article metadata, platform profilesAuthor bio on most platforms: 150-250 characters
Job seekersLinkedIn profiles, cover letters, application formsLinkedIn about section: 2,600 characters; connection request: 300 characters
Public speakers and educatorsScript timing for presentations, talks, and lessonsSpeaking time from word count at 130 WPM

Character Counter vs Word Counter: Which One Do You Actually Need?

The clearest decision rule: platforms enforce characters; editors and institutions enforce words. Social media networks, SMS gateways, ad platforms, search snippet displays, and form validation all truncate and bill by character. Academic institutions, book publishers, magazine editors, and most content briefs specify length in words.

This tool shows both at once because most writing tasks have both a character constraint and a word constraint. A 3,000-character LinkedIn post is also about 500 words. A 650-word college application essay is also about 3,900 characters. Knowing both numbers simultaneously prevents the most common workflow mistake: drafting to one constraint and discovering the other only at publication time. If your work is primarily word-driven — essays, articles, manuscripts — the word counter puts that number first instead.

Frequently Asked Questions

A character counter is a tool that counts the number of characters in a block of text, typically alongside related metrics like word count, sentence count, and paragraph count. You paste text or type directly, and the numbers update as you write. Character counters are essential whenever you are writing against a limit enforced in characters: a tweet, an SMS, a meta description, an ad headline, or a social media caption.

A character is any single unit of text: a letter, a digit, a space, a punctuation mark, a symbol, a line break, or an emoji. In technical terms, "character" usually means a UTF-16 code unit, which is what most platforms enforce. Emoji count as 2 or more code units each. The distinction between characters (raw count) and visible characters (grapheme clusters, what a human sees) is explained in detail in the counting section above.

Yes. Every major platform limit (Twitter/X, Instagram, LinkedIn, TikTok, SMS, and all SEO tools) is enforced on the character count including spaces. This tool shows both counts: characters with spaces (the number platforms enforce) and characters without spaces (used in some translation and academic workflows). Spaces typically account for 15 to 20 percent of English text.

Characters with spaces is the count including every space and line break. This is the number that social media platforms, SMS gateways, and SEO tools enforce. Characters without spaces removes all whitespace. This is used in translation agency pricing, some academic submissions, and typesetting workflows.

Yes, and they count as more than one character each. A simple emoji like a thumbs-up is 2 raw characters (2 UTF-16 code units). An emoji with a skin tone modifier is 4. A flag emoji is 4. A family emoji built with zero-width joiners is 11. On X/Twitter, every emoji counts as exactly 2 characters regardless of complexity (their weighted system). This tool shows both the raw count and the X-weighted count.

Since October 2018, X uses a weighted character counting system where every emoji counts as exactly 2 characters regardless of how many code points it uses, and CJK characters also count as 2. Before this change, a single family emoji could consume 11 of the 280 available characters. The weighted system is more equitable: complex emoji cost the same as simple ones. X normalizes text to NFC before counting, so precomposed characters always resolve to their compact form first.

A single SMS segment holds 160 characters in GSM-7 encoding (standard Latin character set). If the message contains any character outside GSM-7 (an emoji, a curly quote, a non-Latin script, or certain other characters), the network re-encodes it as UCS-2 and the segment limit drops to 70 characters. Long messages split into multiple segments: 153 characters per segment for GSM-7 and 67 per segment for UCS-2, because 7-byte headers take up the difference. Each segment is billed as a separate message.

One emoji forces the entire message into UCS-2 Unicode encoding, which cuts the per-segment limit from 160 characters to 70. A 160-character plain-text message is one segment. The same message with one emoji becomes three segments (each up to 67 characters), and each segment is billed separately. The same problem occurs with curly quotes (from Word), the euro sign, and nine GSM-7 extension characters that take 2 character slots each.

Your message contains at least one character outside the GSM-7 standard character set. The most common culprits: any emoji, curly or "smart" quotation marks (automatically inserted by Word and most word processors), the euro sign placed in certain contexts, or an accented character that falls outside the GSM-7 alphabet. The SMS Segment Analyzer in this tool highlights the exact characters triggering UCS-2 encoding, and the Convert to GSM-7 Safe button fixes the fixable ones in one click.

Ten characters sit in the GSM-7 extension table: the nine visible ones { } [ ] \ | ~ ^ and the euro sign, plus the rarely used form-feed control character. Each takes 2 character slots in a message (the escape character plus the character itself), not 1. A message containing three euro signs uses 6 character slots for those three characters, not 3. Most character counters do not detect this. This tool's SMS Segment Analyzer counts extension characters at their true 2-slot cost, matching the behavior defined in 3GPP TS 23.038, the specification every GSM carrier follows.

Free posts are limited to 280 weighted characters, where emoji and CJK characters count as 2 each and URLs always count as 23 (via the t.co shortener). X Premium subscribers can post up to 25,000 characters, with the first 280 shown before the expand button. X bios are limited to 160 characters, usernames to 15, display names to 50, and direct messages to 10,000.

All URLs are automatically shortened through X's t.co link shortener and counted as exactly 23 characters, regardless of the original URL length. A 200-character URL counts as 23. A 12-character URL counts as 23. This is a fixed rule in the twitter-text library, the open-source counter X publishes. A character counter that measures the raw character length of a URL in a tweet will give you an incorrect weighted count — the X-count on this page applies the 23-character rule automatically.

Instagram captions allow up to 2,200 characters, but only the first 125 characters are visible in the feed before the caption is truncated with a "more" button. The strategic character limit for the visible hook of any Instagram caption is 125 characters, not 2,200. Instagram bios are limited to 150 characters and usernames to 30.

LinkedIn posts allow up to 3,000 characters, with roughly the first 210 characters visible on desktop (about 140 on mobile) before the "see more" fold. The post limit was doubled from 1,300 to 3,000 in June 2023. The About section allows 2,600 characters, headlines 220, comments 1,250, and position descriptions 2,000. Connection request notes are limited to 200 characters for free accounts and 300 for Premium and Sales Navigator.

TikTok captions allow up to 4,000 characters. The limit was raised from 2,200 in 2023. Only the first 100 characters or so — the opening line or two — are visible in the feed before the caption is truncated. TikTok bios are limited to 80 characters. Many third-party tools and published guides still show the old 2,200 figure.

The safe planning figure is 150 to 155 characters. Google displays roughly 150 to 160 characters on most devices in 2026 (its snippet box is about 920 pixels wide, which averages 158 characters), though this varies by screen width and keyword bolding. Put the most important information in the first 100 characters because mobile snippets truncate earliest. Google rewrites a significant share of meta descriptions regardless of length, so write them to earn the click rather than to summarize the page.

The most common reasons: different counting units (code units vs grapheme clusters), different handling of emoji (some count by code points, some by code units, some by grapheme clusters), and text normalization (whether NFC or NFD form is used). A precomposed accent character and its decomposed equivalent look identical but have different code unit counts. A counter that does not state which unit it uses is the source of most disagreements.

A grapheme cluster is a unit of text that a human reader perceives as one character, defined in Unicode Standard Annex 29. A family emoji looks like one character to a reader but is 11 code units and 7 code points internally. Grapheme cluster counting is the "visible characters" metric in this tool. It is the right number to use when you are asking how long something looks, not how many characters a platform will enforce.

About 600 characters including spaces, based on the planning figure of 6 characters per word (average English word length of 4.7 letters plus a trailing space). Conversational text runs closer to 500 characters per 100 words; technical writing runs closer to 700. Paste your actual text for the exact figure.

The average typist produces about 40 words per minute, which is roughly 200 characters per minute using the 5-characters-per-word convention. Proficient typists reach 80 WPM (about 400 characters per minute). Professional transcriptionists typically sustain 300 to 400 characters per minute. The fastest certified typist on record peaked at approximately 212 WPM.

Yes. Every punctuation mark, digit, space, and symbol counts as a character on every major platform. This tool shows the full composition of your text: the exact count of letters, digits, punctuation marks, spaces, and emoji, which helps you identify what to trim when you need to fit within a limit.

A character counter counts every individual character including spaces, punctuation, and emoji. A word counter groups consecutive non-space characters into words. Social media platforms, SMS gateways, and ad platforms enforce character limits. Academic institutions and editorial style guides typically enforce word limits. This tool shows both simultaneously.

No. All counting runs entirely in your browser using JavaScript. Your text is never uploaded, transmitted, stored, or logged anywhere. Closing the tab removes it completely. You can verify this yourself by opening your browser developer tools (F12), going to the Network tab, and typing into the counter. You will see zero outbound requests containing your text.

Open the Tools menu and select Word count. The dialog shows both characters with spaces and without spaces. This is not a live counter; you need to reopen the dialog to see an updated count after editing. Use Ctrl+Shift+C (Windows) or Command+Shift+C (Mac) to open Word count directly.

Go to the Review tab in the ribbon and click Word Count. The dialog shows characters with and without spaces. The status bar at the bottom of the document window shows a live word count but not a live character count. For a live character count as you type, paste your text here and keep the tool open alongside your document.

Yes. This tool supports all Unicode text including CJK scripts, Arabic, Cyrillic, Thai, and all other languages. For CJK text on X/Twitter, each character counts as 2 under the weighted system (capping a post at 140 CJK characters). For SMS, CJK text forces UCS-2 encoding and reduces the per-segment limit from 160 to 70 characters.

Use the Invisible Character Detector built into this tool. It live-detects the hidden Unicode that ordinary counters never show: zero-width spaces (U+200B), zero-width non-joiners and joiners, byte-order marks (U+FEFF), non-breaking spaces (U+00A0), narrow no-break spaces, soft hyphens (U+00AD), word joiners (U+2060), left-to-right and right-to-left marks, bidi embedding and override controls, and stray C0/C1 control characters. These characters sneak into text copied from websites, PDFs, and Word documents, and they are a classic cause of failed string comparisons, corrupted CSV imports, and database mismatches. Bidi override characters are also a documented security risk — the Trojan Source technique (CVE-2021-42574) used them to disguise malicious code. The Strip Hidden Characters button removes the safe-to-delete ones in one click; zero-width joiners inside emoji and zero-width non-joiners used for Arabic, Persian, and Indic script shaping are deliberately preserved.

The UTF-8 bytes card in the composition grid shows this live. UTF-8 encodes characters with a variable width: ASCII letters, digits, and basic punctuation take 1 byte each; accented Latin characters like é take 2; most currency and math symbols like € take 3; and emoji take 4 bytes each. This matters because databases, APIs, and file systems measure limits in bytes, not characters — a VARCHAR field, an API payload cap, or a UTF-8 column index all consume bytes, and a text that is 500 characters can easily be 900 or more bytes. Multiply the byte figure by your per-byte costs when sizing storage or payloads.

Saif ul Rehman
Saif — Founder of TextCountify

I built TextCountify because I was tired of switching tabs to check character limits while managing social media content and SEO work. Every limit on this page is verified against official platform documentation monthly. If something is wrong, tell me directly — I read every message.

More about TextCountify →

Related Tools

More free counting tools from TextCountify