Tool

Instagram character counter, plus 8 more networks in one view

Paste the post text once and see, in one go, which networks take it, which ones reject it and what each one hides behind the "see more". Free, no signup, and nothing leaves your computer.

Social media character counter
350/2,200Characters in the chosen field
1,850Still fits
7/9Networks that accept it

It fits the limit, but it is past the cut-off point: someone scrolling the feed only reads the beginning before deciding whether to tap "see more". Put the main idea before the cut.

What shows before the "see more"

Your pricing page converts at 2%. The version you have not tested yet might convert at 3%. This is not a matter of taste: it is a matter of numbers. Run both versions at the same time, split the traffic and let the result decide. Save this post for the next time your team gets stuck arguing about layout. 👇 #abtesting #cro #growth #conversionrate

The text from the inside

  • 64 words
  • 284 without spaces
  • 7 lines
  • 4 paragraphs
  • 1 emoji
  • 4 hashtags
  • 0 mentions
  • 0 links
  • 351 on the X ruler
  • 351 UTF-16 units

The same text in every field of every network

FieldUsedLimitLeft
Instagram
Post or Reels caption3502,2001,850
Profile bio350150200 over
Image alt text350100250 over
Comment3502,2001,850
X (Twitter)
Post (free account)35128071 over
Profile bio350160190 over
Display name35050300 over
LinkedIn
Feed post3503,0002,650
Profile headline350220130 over
About section3502,6002,250
Comment3501,250900
TikTok
Video caption3502,2001,850
Profile bio35080270 over
YouTube
Video title350100250 over
Video description3505,0004,650
Facebook
Page post35063,20662,856
Comment3508,0007,650
Threads
Post350500150
Profile bio350150200 over
Bluesky
Post35030050 over
Profile bio35025694 over
Pinterest
Pin title350100250 over
Pin description350500150

Nothing leaves your browser: the count runs in JavaScript on your machine, with no network call at all. Limits were checked in August 2026; use the custom limit if a network has changed its own.

Who this page is for: anyone writing organic posts who needs the same text to work on more than one network. If the text is going to become a paid ad, with headlines, descriptions and an asset set the platform combines on its own, the right page is the ad character counter, which checks every asset against the Google and Meta limits and flags what review usually rejects. If your question is not about network limits but about the size and rhythm of the text itself, use the word counter, which returns sentences, paragraphs, reading time and term density. Here the subject is one thing only: does the text fit where you are about to publish, and how much of it does a person read before deciding to tap.

The limit is not your problem. The cut is.

Almost every social media counter answers the wrong question. It tells you how many characters are left before Instagram's 2,200, as if the problem with a caption were running out of room. It is not. Nobody writes 2,200 characters by accident. What actually happens is different: you write 400 reasonable characters, publish, and the feed shows 125 of them followed by "more". The sentence that justified the whole post sat at character 200, and nobody ever read it.

There are two numbers per field and they do different jobs. The hard limit is a lock: go over and the network refuses to publish, so you fix it immediately, because the failure is visible. The cut-off point is invisible: the text goes up whole, sits there whole, and still almost nobody reads past the first third. The second number decides whether the post works, and it is exactly the one ordinary counters do not show.

That is why this tool greys out the hidden stretch instead of just returning a total. What is in full colour shows in the feed with no click at all. What is faded depends on somebody deciding to open it. If your main idea landed in the faded part, the fix is not cutting text: it is changing the order.

The second thing this page does and most do not is check the text against every network at the same time. People publishing organically rarely write for a single network: they write once and adapt. The table shows, at a glance, which adaptations are mandatory, which are optional and where the text passes untouched.

How to use it

  1. Pick the main field under where this text goes: Instagram caption, X post, LinkedIn post, YouTube description and so on. The three big numbers now describe that field.
  2. Paste or write the text. Everything recalculates on every keystroke, with nothing to click.
  3. Look at what shows before the "see more". The faded stretch is what the feed hides. If your best sentence is in there, move it up.
  4. Scroll to the table to see the same text checked against every field of every network. A red row is a field that refuses this text.
  5. Use custom limit for any field that is not on the list, or when a network has moved its limit since August 2026.

How it works: three different rulers

Counting characters looks trivial until you compare two counters and get two numbers. The gap is almost never a bug: it is a different ruler. These are the three that show up here, and what each one measures:

perceived character (grapheme) = what you see as one symbol on screen
UTF-16 unit = the raw JavaScript string length; an emoji is worth 2 or more
X ruler = basic Latin counts 1, everything else counts 2, any link counts a flat 23
left = the field limit minus the length on that field's ruler
cut = how many perceived characters the network shows before the "see more"
networks that accept = networks whose publishing field takes the whole text

The default ruler, used by practically every network, is the perceived character. It groups accents, emoji and composed sequences into a single symbol, which is how a human counts. The family emoji is the extreme case: it is one symbol on screen, it occupies eleven UTF-16 units, and it counts as a single character on Instagram. A counter that returns eleven is not lying, it is counting something else, and that is why both numbers appear together in the detail panel.

The X ruler is the exception that confuses people most. It weighs each character: basic Latin and common punctuation count 1, everything else counts 2. Common Western accents still count 1, because they sit inside the light range, but Cyrillic, Arabic, Japanese and emoji count 2. That is why a post in Japanese blows past 280 with roughly 140 visible characters. And links have their own rule: any URL counts 23, short or enormous, because the network shortens everything internally.

Worked example (reproduces the default output)

The sample text already loaded is an Instagram caption with four paragraphs, one emoji at the end and four hashtags. Checking what the tool shows, number by number:

Now run the test that shows the X ruler at work. Replace the text with New on the blog: https://donnuab.com/blog/en/tools/instagram-character-counter/ and pick the "X (Twitter): Post" field. That is 79 perceived characters, but the X ruler reads 40: 17 for the text before the link, plus a flat 23 for the whole URL. Shortening that URL would not buy a single character.

The limits the table uses

All of them were checked in August 2026. The ones most likely to drift are called out as approximate in the text, and the custom limit field exists for when a network moves again:

How to read each number

The remaining count only matters when it goes negative. A large surplus is neither a virtue nor a flaw: a good Instagram caption is as long as the idea needs, and excellent 90 character posts exist. Once it goes negative, though, there is no debate: the network does not trim the excess, it rejects the whole post and the text never runs.

The cut-off point is the number that changes outcomes. Treat the characters before it like ad copy: they have to work alone, without context and without the rest of the text. A rule of thumb that holds up well: the first line promises something concrete, the second delivers half of it, and the "see more" charges for the other half. Ending the visible part in the middle of an explanation is the most common way to lose the reader.

Networks that accept answers an operational question: can I repost this without rewriting? When that number drops to six or fewer out of nine, it is almost always because the text went past 280, and the practical move is to write the short version first. Text that starts short stretches well; long text rarely shrinks without losing the argument.

The X ruler only matters if you publish on X. It always appears in the detail panel because it is the one count that diverges from the others in a big and silent way. If it sits far above the plain character total, the text has too many emoji or is written in an alphabet that weighs 2 per character.

Known limits

The cut-off point is the roughest number on this page. No network publishes the official value, it moves with screen width, with the device font size and with the post format, and networks adjust the interface without notice. Use the table values as an order of magnitude, not as a measurement: the difference between 125 and 140 characters does not change how you write, but the difference between 125 and 400 would.

Link detection is deliberately simple: it recognises addresses that start with http, https or www. A bare domain dropped mid sentence without those prefixes is not treated as a link, so it counts character by character on the X ruler, exactly as the network itself would in some edge cases. If your post depends on that, check it in the platform composer before publishing.

The tool counts and compares, but it does not validate content policy. It does not know whether a hashtag is blocked, whether a mention exists, whether a link was flagged as spam, or whether the network will suppress the post for any other reason. Passing every limit means the text can be published, not that it will be distributed well.

From counted text to tested text

Counting is the start. What moves the number is finding out which version of the text works better, and in organic that usually lands on the page the post sends people to:

Frequently asked questions

What is the Instagram caption character limit?
A post or Reels caption takes up to 2,200 characters, and hashtags count inside that total. The number that decides the outcome is not that one, though: the feed shows only the first 125 characters and hides the rest behind "more". You have 2,200 characters of room and roughly 125 characters of attention. The tool above shows both at once and greys out the part that stays hidden.
How many characters fit in an X post?
A free account publishes up to 280 characters, but the X ruler is not the one other counters use. A character outside the basic Latin range counts 2, an emoji counts 2, and any link counts a flat 23 whether it is short or enormous. A text with 79 visible characters that ends in a long URL can score 40 on the X ruler, and a post in Japanese blows past 280 with about 140 characters on screen. That is why the weighted count sits in its own field here.
Do hashtags count toward the character limit?
They do, on every network. On Instagram, thirty average hashtags eat close to 400 of the 2,200 characters available, and on X they compete directly with the 280. The tool separates how many characters went into hashtags alone so you can see that cost. The Instagram cap of 30 hashtags per post is flagged in the table whenever the text goes past it.
How many characters does LinkedIn show before the "see more"?
A LinkedIn post takes 3,000 characters but folds long before that: in the app the cut sits near 140 characters, and on a wide desktop screen it stretches a little. LinkedIn does not publish the exact number and it moves with screen size and post format, so treat 140 as a safety floor rather than a measurement. If the first line does not make someone want to open the post, the rest of the text does not exist.
Why does Instagram say my text is longer than I counted?
It is almost always emoji. A simple emoji takes two internal encoding units, and a composed one, like the family emoji, takes eleven. A counter that uses the raw JavaScript string length adds those units up and returns an inflated number. Networks count perceived characters, which is what you see on screen, and that is the ruler this tool uses. Both numbers sit side by side in the detail panel so you can compare them.
Can the same text go on every network?
As a draft, yes. As a final post, no. A 350 character text fits Instagram, LinkedIn, TikTok, Facebook and Threads, but goes over on X and Bluesky, which stop at 280 and 300. On top of that, each network folds at a different point and some drop line breaks entirely. The table exists so you can see in one glance which networks take the text whole and which ones need a short version.
Does the tool send my text to a server?
No. The whole count runs in JavaScript inside your browser, with no network call at all: the text never leaves your computer, is never stored and is never logged. That matters when the post is a client embargo or an unreleased announcement. You can confirm it by opening the browser network tab and typing: no request goes out while the numbers change.
Do these limits go stale?
They can, which is why the date is stated: the values were checked in August 2026. Social networks change limits without notice, almost always upward, and TikTok has already changed its caption limit more than once. If the platform you use has moved its limit, pick "Custom limit" in the selector and type the new number: the count, the cut and everything else keep working.
Embed this tool on your site

Paste this code wherever you want the counter to appear. The credit link below the box helps us and you are free to keep it.

Keep reading

To understand how the text you publish behaves in search and in an AI answer, continue with CRO vs SEO, what changes in each, read the guide to generative engine optimization and learn to build quotable blocks in FAQ content for AI citation.

Related tools

See all tools →