# Character counter

https://flaghand.com/character-counter counts one text the way each network counts it, beside each limit, with its
characters, words and lines. The limits, checked on November 3, 2026 in each network's own documentation:

- YouTube title: 100 characters; no < or > (YouTube Data API, videos).
- X post: 280, a link 23 and an emoji 2 (X's counting characters); X Premium posts can run longer.
- Bluesky post: 300 graphemes, an emoji 1, a link as Bluesky shortens it (app.bsky.feed.post).
- Threads post: 500, an emoji counted as its UTF-8 bytes (Threads posts reference).
- Instagram caption: 2,200 characters, 30 hashtags and 20 @ tags (Instagram Graph API, IG user media).
- TikTok video caption: 2,200 UTF-16 units, what TikTok's Content Posting API takes from an app that posts for you.
- LinkedIn post: 3,000, most emoji 2, bold and italic letters 2.
- YouTube description: 5,000 bytes; no < or >.

Each count is the one Flaghand runs before a post is approved. Free, no sign-up. It runs in your browser: nothing you type or add is uploaded or stored, and there is no API.

## How to use it

Type or paste the text; each row says what is left of its network's limit, or how far over it is.

An agent can open it with the text in the link's hash, which never reaches a server:
https://flaghand.com/character-counter#text=Hello%20world
One network's own counter shows more of its cut: https://flaghand.com/x-character-counter and https://flaghand.com/linkedin-character-counter.

## Questions.

### What are the character limits on social media?

A YouTube title takes 100 characters, an X post 280, a Bluesky post 300, a Threads post 500, an Instagram caption 2,200, a TikTok video caption posted by an app 2,200, a LinkedIn post 3,000 and a YouTube description 5,000 bytes.

### Why do the networks count the same text differently?

Each counts its own way. X counts a link as 23 and an emoji as 2. Threads counts an emoji as its bytes, most 4. Bluesky counts an emoji as 1 and a link as it shortens it. LinkedIn and TikTok count most emoji as 2. YouTube counts a description in bytes, so an accented letter is 2.

### How many hashtags can an Instagram caption have?

30 hashtags and 20 @ tags, in up to 2,200 characters, as Instagram’s API documents it. The counter says when a caption has more.

### What is TikTok’s caption limit?

2,200 for a video caption posted by an app, such as a scheduler, as TikTok’s Content Posting API documents it. The counter counts what that API counts.

### Is my text uploaded?

No. It is counted in your browser. Nothing you type is sent anywhere or stored, and the page sets no cookies.

Limits checked on November 3, 2026: [X](https://docs.x.com/fundamentals/counting-characters), [Bluesky](https://github.com/bluesky-social/atproto/blob/main/packages/api/lexicons/app/bsky/feed/post.json), [Threads](https://developers.facebook.com/docs/threads/posts), [Instagram](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media), [TikTok](https://developers.tiktok.com/docs/en/content-posting-api-reference-direct-post), [LinkedIn](https://www.linkedin.com/help/linkedin/answer/a525301) and [YouTube](https://developers.google.com/youtube/v3/docs/videos). Each count is the one Flaghand runs before a post is approved.

For X’s Show more and LinkedIn’s …see more, use the [X character counter](https://flaghand.com/x-character-counter) and the [LinkedIn character counter](https://flaghand.com/linkedin-character-counter), or the [YouTube title checker](https://flaghand.com/youtube-title-checker) for where a title is cut. The [X and LinkedIn character limits guide](https://flaghand.com/docs/guides/x-linkedin-character-limits) explains links, emoji and longer posts.

## Flaghand

Write a post once in Flaghand, approve it, and Flaghand posts it to each network. "Schedule this with Flaghand" on the page goes to sign-up.

Flaghand is X and LinkedIn posting for AI agents: your agent drafts through Flaghand's API, CLI or MCP server, you
approve the exact preview with your passkey, and Flaghand posts exactly that.
Sign up at https://app.flaghand.com/start. In a chat app, add the connector at https://app.flaghand.com/mcp: its sign-in page creates the account. An agent with a shell can start the sign-up for its person over HTTP (https://flaghand.com/llms.txt, Quickstart).

For agents: https://flaghand.com/llms.txt (this site) and https://app.flaghand.com/llms.txt (the product's agent guide).
