Character Counter for X, Instagram and LinkedIn
This character counter counts characters with and without spaces, words, sentences and paragraphs as you type, and checks the same text against nine networks at once, each counted the way that network counts. Use it as a Twitter (X), Instagram or LinkedIn character counter.
By Tayyab, Founder
Updated . Limits and counting rules are read from the code our publisher checks every post against.
Runs in your browser. Nothing you type is uploaded or stored.
- Characters
- 0
- Without spaces
- 0
- Words
- 0
- Sentences
- 0
- Paragraphs
- 0
- Lines
- 0
- Reading time
- 0 sec
- Speaking time
- 0 sec
- 0 hashtags
- 0 mentions
- 0 links
- 0 emoji
Room left on each network
Each row counts your text the way that network does. The unit is under the name.
X (Twitter) post
280 left
X weighting0 / 280Instagram caption
2,200 left
Unicode code points0 / 2,200LinkedIn post
3,000 left
Unicode code points0 / 3,000Facebook post
63,206 left
Unicode code points0 / 63,206Threads post
500 left
UTF-8 bytes0 / 500Bluesky post
300 left
Graphemes0 / 300TikTok caption
2,200 left
Unicode code points0 / 2,200Pinterest description
800 left
Unicode code points0 / 800YouTube description
5,000 left
Unicode code points0 / 5,000
Where the feed cuts your post off
A post can be inside the limit and still hide its second half behind a link. Each feed cuts at a number of characters or lines, whichever comes first. Points measured 7 August 2026.
LinkedIn on desktop
210 characters or 3 lines, then …see more.
LinkedIn on mobile
140 characters or 3 lines, then …see more.
Instagram caption
125 characters or 2 lines, then … more.
Bios, names, titles and search snippets9 more limits, same text
Paste a bio, a display name, a video title or a page title to see it against the field it is for. These are counted in Unicode code points. The two search-snippet rows are rules of thumb rather than network limits: a search engine decides how much of a title or description to show.
X Bio
160 left
limit 1600 usedInstagram Bio
150 left
limit 1500 usedLinkedIn Bio
2,600 left
limit 2,6000 usedYouTube Title
100 left
limit 1000 usedPinterest Pin Title
100 left
limit 1000 usedBluesky Display Name
64 left
limit 640 usedBluesky Bio
256 left
limit 2560 usedMeta Title (SEO)
60 left
limit 600 usedMeta Description (SEO)
160 left
limit 1600 used
How this counter counts for each network
A character is not one thing. X weighs them, Threads counts bytes, Bluesky counts what a reader sees as one character, and the other six networks count Unicode code points. The table lists each limit and what it is counted in. They are the limits and counting rules Content Drifter's composer checks every post against before it sends it, so the number you see here is the number the app enforces.
| Network | Field | Limit | Counted in |
|---|---|---|---|
| X (Twitter) | Post | 280 | X weighting |
| Caption | 2,200 | Unicode code points | |
| Post | 3,000 | Unicode code points | |
| Post | 63,206 | Unicode code points | |
| Threads | Post | 500 | UTF-8 bytes |
| Bluesky | Post | 300 | Graphemes |
| TikTok | Caption | 2,200 | Unicode code points |
| Description | 800 | Unicode code points | |
| YouTube | Description | 5,000 | Unicode code points |
- X weighting.
- Every link counts 23 whatever its length, and emoji and East Asian characters count 2.
- Unicode code points.
- One per code point. A letter is 1, a plain emoji is 1, and a joined emoji such as a family counts each part.
- UTF-8 bytes.
- Bytes, not characters. A plain letter is 1, an accented letter 2 and most emoji 4.
- Graphemes.
- One per character a reader sees, so a family emoji built from seven code points is 1.
Looking for every limit in one table, including hashtags, links, images and video lengths? That is the social media limits reference. This page is for a draft you have in front of you.
Why other character counters show a different number
Many counters report the length JavaScript gives a string, which counts UTF-16 units. For plain English letters that is right. For emoji, and for text built from joined or combining characters, it is not. A family emoji looks like one character, and it is 1 grapheme, 7 code points, 11 UTF-16 units and 25 UTF-8 bytes, so four counters can give four answers for one symbol.
| Counted as | Count | What it measures |
|---|---|---|
| Graphemes | 1 | what a reader sees as one character |
| Code points | 7 | Unicode code points |
| UTF-16 units | 11 | what JavaScript .length reports |
| UTF-8 bytes | 25 | the size of the text in storage |
The networks then pick a unit and apply their own rules on top. Here is one short post, Café launch 🚀 日本 https://www.contentdrifter.com/tools/character-counter, run through the same code this page uses. A reader sees 71 characters:
| Network | This post counts as | Counted in |
|---|---|---|
| X (Twitter) | 43 | X weighting |
| 71 | Unicode code points | |
| 71 | Unicode code points | |
| 71 | Unicode code points | |
| Threads | 79 | UTF-8 bytes |
| Bluesky | 71 | Graphemes |
| TikTok | 71 | Unicode code points |
| 71 | Unicode code points | |
| YouTube | 71 | Unicode code points |
The same text is 43 on X and 79 on Threads. X bills the 54-character link as 23, which saves 31, and charges one extra for the emoji and one extra for each of the two East Asian characters. Threads counts the accented letter as 2 bytes, the emoji as 4 and each East Asian character as 3.
X (Twitter): links count 23, emoji count 2 and so do many symbols
X does not count characters, it weighs them. A standard post allows 280 weighted characters. Every link counts 23 however long it really is, and every emoji and every East Asian character counts 2. That is the rule the composer, the X post preview and this counter apply.
X's developer documentation says more. It measures text after Unicode normalisation, counts an emoji as 2 however many parts it has, and weighs anything outside Latin letters, punctuation and common symbols at 2. The library X publishes lists the exact ranges: only U+0000 to U+10FF, U+2000 to U+200D, U+2010 to U+201F and U+2032 to U+2037 weigh 1, and every other code point weighs 2. When your text has a character where that rule gives a different total, the X row above says so and shows X's own number beside ours.
That rule is why styled text is expensive on X. The bold and italic letters that a bold text generator produces are mathematical symbols, outside the weight-1 ranges. By X's rule “Ship the update today” is 21 in plain letters and 39 in bold ones, so a post written entirely in bold fits about half as many letters.
The limit is not where your post is cut off
Instagram allows 2,200 characters in a caption, but a feed shows only the first 125 before “… more”. LinkedIn allows 3,000, and cuts at 210 characters on desktop and 140 on mobile, or after 3 lines, whichever comes first. So a post whose first three lines are short is cut after those lines, however few characters they hold.
The cut-off panel above marks both for your text. We measured the points in the live apps on 7 August 2026, and the Instagram, LinkedIn and X previews draw the same cut on a mock feed.
Threads counts bytes and Bluesky counts graphemes
Threads allows 500 and counts UTF-8 bytes, so an accented letter costs 2 and a typical emoji costs 4: 125 emoji fill a post. Bluesky allows 300 and counts graphemes, so the family emoji costs 1 there and 25 on Threads. Threads also accepts at most 5 different links in a post, and the counter flags a sixth. We wrote both rules up in the publishing limits research.
Reading time and speaking time
Reading time divides your word count by 238 words per minute and speaking time by 183. Those are the averages Marc Brysbaert found for adults reading English non-fiction silently and aloud, across 190 and 77 studies (Journal of Memory and Language, 2019). They are estimates for a typical adult. Fiction reads faster, 260 words per minute in the same study, because its words are shorter. A word here is any run of characters between spaces or line breaks.
Where these facts come from
Every limit and cut-off above comes from our own code. These are the outside sources behind the rest.
- X Developer Platform: Counting characters, X Developer Platform. Read . The 280 weighted characters, the 23 for a link, the 2 for an emoji and the NFC normalisation.
- twitter-text configuration v3 (character weights), X (twitter-text, open source). Read . The four code point ranges that weigh 1; every other code point weighs 2.
- How many words do we read per minute? A review and meta-analysis of reading rate, Marc Brysbaert, Journal of Memory and Language 109, 104047 (2019). Read . The 238 words per minute for silent reading and 183 for reading aloud.
- Unicode Standard Annex #29: Unicode Text Segmentation, The Unicode Consortium. Read . How a grapheme (a character as a reader sees it) and a sentence are defined.
Embed this tool on your site
Free for any site, personal or commercial. Paste the snippet where the tool should appear. It resizes itself, follows your visitor's light or dark setting unless you pin one, and never asks your readers to sign up.
<iframe id="cd-embed-character-counter" src="https://www.contentdrifter.com/embed/character-counter" title="Social Media Character Counter by Content Drifter" width="100%" height="820" loading="lazy" style="border:0;max-width:100%;border-radius:12px;display:block"></iframe>
<p style="margin:8px 0 0;font:14px/1.5 system-ui,sans-serif">Free <a href="https://www.contentdrifter.com/social-media-limits">social media character limits</a> by <a href="https://www.contentdrifter.com/">Content Drifter</a></p>
<script>window.addEventListener("message",function(e){if(e.origin!=="https://www.contentdrifter.com"||!e.data||e.data.type!=="contentdrifter:embed-height"||e.data.slug!=="character-counter")return;var f=document.getElementById("cd-embed-character-counter");if(f&&e.data.height>0)f.style.height=e.data.height+"px"})</script>Keep the credit line under the tool. It is how readers find us, and it is the only thing we ask in return.
Frequently asked questions
How do I count characters with and without spaces?
Paste or type your text in the box and read the Characters and Without spaces figures under it. Both update as you type. Without spaces leaves out every space, tab and line break, and nothing you type is uploaded.
How does X count the characters in a post?
X weighs characters instead of counting them, and a standard post allows 280 weighted characters. Every link counts 23 however long it is, and every emoji and East Asian character counts 2. This counter applies those weights, and shows X's own published count beside its own when the two differ.
Do emoji count as one character?
Not on every network. X counts every emoji as 2, Bluesky counts what a reader sees (a family emoji is 1), Threads counts UTF-8 bytes (a typical emoji is 4) and the other six networks count Unicode code points. This counter applies each network’s own rule to the same text, so you can see all nine at once.
Why does another character counter show a different number?
Many counters report the JavaScript string length, which counts UTF-16 units rather than characters. An emoji that looks like one character can be 2 to 11 of those units, and an accented letter built from two code points counts twice. The table under your text shows graphemes, code points, UTF-16 units and UTF-8 bytes side by side.
Does the counter include spaces and line breaks?
Yes. The Characters figure includes every space and line break, because every network counts them, and a line break counts as one character. The Without spaces figure leaves them out.
Where does Instagram or LinkedIn cut my post off?
Instagram shows the first 125 characters of a caption before "more", and LinkedIn shows 210 characters on desktop and 140 on mobile, or 3 lines, whichever comes first. The cut-off panel marks where your own text is cut. These are the points we measured in the live apps.
How are reading time and speaking time worked out?
Reading time divides your word count by 238 words per minute, and speaking time divides it by 183. Those are the averages Marc Brysbaert found for adults reading English non-fiction silently and aloud (Journal of Memory and Language, 2019), so treat them as estimates for a typical reader.
Is my text uploaded or saved anywhere?
No. The counting runs in your browser, nothing you type is sent to a server, and nothing is stored after you close the tab.
Counting is the last step, not the first
You counted a post you still had to write. Content Drifter drafts posts in your voice with AI help, fits each one to every network's limit, and publishes to all nine for you.
Start for $0Free forever plan, no credit card. Every network is included.