Threads character limit and counter

A Threads post can be 500 characters long, and Threads counts every emoji as its UTF-8 bytes, so one emoji usually costs 4. This counter applies that rule and also checks text attachments (10,000 characters) and topic tags (50).

Runs in your browser.

Text and files stay on your device.

Maintained by the bundle.social team, last updated . How we check the numbers

0 of 500 characters, 500 remaining

Post: 500 characters

Characters0
Remaining500Limit 500
Hashtags0
Mentions0
Limit used0%
Nothing to check yet

Platform limit: 500 characters, with each emoji counted as its UTF-8 bytes, documented for the platform's API. Source: Threads API: Posts, read 1 November 2026.

Limit read from the platform's documentation

"Text posts are limited to 500 characters" and "emojis are counted as the number of UTF-8 bytes", so one emoji usually costs 4. Threads does not define which characters it treats as emoji; this page counts any grapheme with an emoji pictograph or flag letter that way.

bundle.social API limit: 500 characters. bundle.social validates this field in UTF-16 units, where most emoji count 2; Threads counts them as UTF-8 bytes (usually 4), so an emoji-heavy post can pass bundle.social's check and still exceed Threads' limit.

Words0
Lines0
More figures
Graphemes0Characters as you see them
Code points0
UTF-16 units0
UTF-8 bytes0
Paragraphs0

How to use

  1. 01

    Paste the post

    Post is selected by default with the 500 limit. Reply has the same limit; Text attachment and Topic tag have their own.
  2. 02

    Watch emoji in particular

    A plain emoji costs about 4 of the 500, a flag 8 and a family emoji 25. The Characters figure already includes that, so it can be higher than what you see.
  3. 03

    Move long text into an attachment or a thread

    Past 500, either split the text into several posts or switch the field to Text attachment, which holds up to 10,000 characters on a text-only post.
  4. 04

    Copy

    Copy the text and paste it into Threads or schedule it. bundle.social validates posts and replies at 500 UTF-16 units.

How does Threads count emoji toward the 500 limit?

The Threads API documentation lists two rules side by side: text posts are limited to 500 characters, and emojis are counted as the number of UTF-8 bytes. A simple emoji such as a thumbs up is 4 bytes, a flag is two regional letters of 4 bytes each, and a family emoji made of four people and three joiners is 25 bytes. Letters, digits and punctuation count once each. A caption with ten emoji therefore uses about 40 of its 500, not 10.

What are Threads text attachments, links and topic tags?

A text attachment lets a post or reply carry long-form writing of up to 10,000 characters plus one link. It can only be added to a text-only post without a poll. Across the post and its attachment, Threads accepts at most 5 unique links; since 22 December 2025 a post with more fails with THREADS_API__LINK_LIMIT_EXCEEDED. A post can also carry one topic tag of 1 to 50 characters, either as a parameter or as the first valid hashtag in the text; periods and ampersands are not allowed in it.

Limitations

  • Threads does not define which characters it treats as emoji. The counter counts any grapheme containing an emoji pictograph or a flag letter as its UTF-8 bytes and every other grapheme as one.
  • Links are counted at their full length; Threads documents no link shortening for the count. It does cap a post at 5 unique links, which this tool does not check.
  • Only one topic tag is used per post. The Topic tag field checks the length and the forbidden characters of a tag, not whether the text already contains another tag.
  • bundle.social's own check counts UTF-16 units, where an emoji usually counts 2, so an emoji-heavy post can pass it and still exceed Threads' limit.

bundle.social is not affiliated with, endorsed by, or sponsored by Instagram, Facebook, Meta, X, TikTok, LinkedIn, YouTube, Threads, Bluesky, Pinterest or any other platform named here. Platform names and logos belong to their owners and are used only to describe compatibility.

FAQ

What is the Threads character limit?

A Threads text post can be 500 characters, and each emoji counts as its UTF-8 bytes (usually 4). That comes from the Threads API documentation on posts, read 1 November 2026. bundle.social validates the same 500 but in UTF-16 units, where an emoji usually counts 2, so its check is looser for emoji-heavy posts than Threads itself.

Is the limit 500 for replies too?

Yes. A reply is a post in the Threads API, so it has the same 500-character limit and the same emoji rule.

Can a Threads post be longer than 500 characters?

Yes, through a text attachment: up to 10,000 characters and one link, added to a text-only post without a poll. The Text attachment field in this counter checks that limit. bundle.social does not publish text attachments.

Do links count as 23 characters like on X?

Threads does not document any link shortening for the count, so the counter takes the full URL. Threads also rejects posts with more than 5 unique links.

Does a line break count as a character?

Yes, one character per line break. Blank lines between paragraphs count as well.

How does bundle.social validate Threads posts?

Post and reply text is validated against 500 UTF-16 units before the request is sent to Threads, and a topic tag against 1 to 50 characters without periods or ampersands.

Can I count a Threads carousel caption here?

Yes. The text of a carousel post is a normal Threads post text with the same 500-character limit.

Related tools and guides

Publish what you prepared

bundle.social schedules and publishes posts to 15 networks from one dashboard or one API. The free plan needs no card.