Direct answer: 1 Threads post is limited to 500 characters. A reply uses the same limit, because replies go through the same endpoint. The profile bio holds about 150 characters in the app. A carousel holds 2 to 20 media items, and a video runs up to 5 minutes.

Every number here comes from the official Threads API documentation, updated on 2 July 2026. I mark clearly which lines come from the documentation and which come from the app.

Threads character limit 2026 at a glance

This table is the quick answer. The detail sits in the sections below it.

SurfaceLimitNote
Post text500 charactersEmojis count as the number of UTF-8 bytes
Reply text500 charactersReplies use the same post endpoint
Profile bioAbout 150 charactersApp observation. The API only reads the bio
Media per post2–20 itemsImages, videos, or a mix of both
Video duration300 seconds (5 minutes)File size up to 1 GB
Image size8 MBJPEG or PNG, width 320–1440 pixels
Links in 1 text post5 unique linksMore than 5 fails to post through the API
Topic tag1–50 characters1 tag per post
Poll option1–25 charactersMinimum 2, maximum 4 options
Posts through the API250 per 24 hours1 carousel counts as 1 post
Replies through the API1,000 per 24 hoursMoving 24-hour period

Source for the table, except the bio row: the Threads Posts documentation and the Threads API Overview.

The 500-character limit and how Threads counts it

A text post is limited to 500 characters. Here is the part most people miss: an emoji does not count as 1 character. The Threads documentation states that emojis count as the number of UTF-8 bytes.

So 1 face emoji can eat 4 slots out of 500. An emoji with a skin-tone modifier or a family emoji eats more, because it joins several code points.

Write a tight caption, close it with 10 emojis, and you just spent around 40 characters. My rough rule: count 1 emoji as 4 characters.

How Threads counts characters: a letter counts as 1 and an emoji counts as 4 UTF-8 bytes
How Threads counts the content of a post. Source for the emoji rule: Threads API documentation, 2 July 2026.

One more detail for text posts. If you include a URL and set no link attachment, the first URL in the text becomes the link preview card.

Reply limits and who may reply

Replies are created through the same post endpoint, so the 500-character limit is identical. The daily quota differs: 1,000 replies per 24 hours through the API, against 250 posts.

You can also lock who may reply. The reply_control parameter accepts these 5 values.

ValueWho may reply
everyoneEverybody
accounts_you_followAccounts you follow
followers_onlyYour followers
mentioned_onlyAccounts you mention in the post
parent_post_author_onlyThe author of the parent post

For brand accounts I use everyone on educational posts and followers_only on promotional posts. The reason is plain: the reply column under a promotion attracts gambling links and scams.

The Threads profile bio limit

The profile bio holds about 150 characters. That number is an app observation, not a number from the API documentation. The Threads API exposes threads_biography as a read field only, so no official limit is written there.

My practical advice: write the bio in 3 short parts. Who you are, who you serve, and 1 call to action. Leave room for 1 link, because the link turns a reader into a visitor.

Do not stuff repeated keywords into the bio. Threads is not a search engine, and a reader judges you by the first sentence.

Media limits: images, video, and carousels

A carousel holds a minimum of 2 and a maximum of 20 media items. Images, videos, or a mix. For the quota, 1 carousel still counts as 1 post.

SpecificationImageVideo
FormatJPEG or PNGMOV or MP4
File size8 MB1 GB
Duration300 seconds (5 minutes)
Width320–1440 pixelsUp to 1920 pixels
Aspect ratioUp to 10:10.01:1 to 10:1, 9:16 recommended
OthersRGB color space23–60 FPS, video bitrate up to 100 Mbps
Threads media specification card: image up to 8 MB and video up to 5 minutes with their size limits
Threads media specifications from the Threads API documentation, updated 2 July 2026.

Alt text works for images and videos, not for text posts. Fill it in, because that text is also what a machine reads when your image fails to load. I apply the same principle in Meta Ads creative sizes per placement.

Since 22 December 2025, a post with more than 5 unique links fails at the media creation step through the API. The error reads THREADS_API__LINK_LIMIT_EXCEEDED.

How Threads counts them: every unique URL in the text counts as 1. If the link attachment differs from all URLs in the text, it counts as an extra link. The same URL never counts twice.

A topic tag runs from 1 to 50 characters, and 1 post accepts 1 tag. Periods and ampersands are not allowed. A poll accepts a minimum of 2 and a maximum of 4 options, each option 1 to 25 characters. A poll attaches to text-only posts.

How to write inside 500 characters

The 500-character limit is not an obstacle. It forces you to pick 1 message, and a 1-message post is the easiest thing to read while walking.

The pattern I use has 4 lines:

  1. Line 1, the hook. One sentence that names the reader problem. Keep it under 60 characters, because this line decides whether they stop.
  2. Lines 2 and 3, the body. One number, one example, or one step. Avoid stacked clauses.
  3. Line 4, the ask. One short command. Ask, save, or open the link.

When the material does not fit, do not squeeze it with abbreviations. Split it into a connected thread: the first post carries the conclusion, the following replies carry the detail. Each reply keeps its own 500 characters.

This also helps reach. A first post that carries the conclusion travels further than an opener that keeps people waiting.

For images, remember that readers see the picture before the text. Put the number or the keyword inside the image, then use the text for context.

Worked example: cutting 1 post that runs too long

This example is a simulation. I use it to make the 500-character limit concrete.

First draft. A shop writes 620 characters, closes with 8 emojis, and attaches 6 product links.

Problem. Two limits break at once. The text sits 120 characters over the limit, and 6 unique links make the post fail through the API.

Steps. Cut the opening sentence that repeats the headline. Remove 6 emojis and save around 24 characters. Replace 6 links with 1 catalogue link.

Result. The text lands at 470 characters, 2 emojis, 1 link. The post publishes, and the preview card comes from that single link.

Next decision. Keep that 470-character version as a template. The 500 limit pushes you to write 1 message instead of 3.

Checklist before you schedule a Threads post

  1. Count the text after the emojis. Use 4 characters per emoji as the estimate.
  2. Keep unique links at 5 or fewer. One link is usually better.
  3. Check the media count, between 2 and 20 for a carousel.
  4. Keep the video under 5 minutes and 1 GB.
  5. Fill the alt text on every image and video.
  6. Pick the reply_control value that matches the post type.
  7. If you use a scheduler, respect the quota of 250 posts and 1,000 replies per 24 hours.

Questions I get often

Does the 500-character limit apply to every account? Yes, for standard text posts. The Threads API documentation states the number with no account exception.

Do emojis really cost 4 characters? Threads counts an emoji as the number of UTF-8 bytes. Most emojis are 4 bytes, and joined emojis are larger.

What is the Threads bio character limit? About 150 characters in the app. That number is not in the API documentation, so treat it as an observation.

Do replies have a different limit? The length is the same, 500 characters. The daily quota differs: 1,000 replies against 250 posts through the API.

How many links are safe? Up to 5 unique links. I recommend 1, because the preview card appears for a single link.

Do these numbers change? They can. Meta updated this documentation on 2 July 2026. Check it again before you build automation on top of it.

Limits of this article and your next step

Every number above comes from the Threads API documentation. The Threads app can apply different limits to features that the API does not cover yet, and Meta can change them without an announcement.

If you write by hand, memorise 3 numbers: 500 characters, 20 media, 5 links. The rest rarely trips you.

If you schedule posts through a system, the daily quota is the limit to watch. That is the part we organise in OS Module: Content Ops, so the content calendar, the approvals, and the platform limits run on 1 path.

For asset sizes on other platforms, read TikTok feed sizes and Instagram profile photo sizes.

Sources