TikTok's video caption is capped at 2,200 characters, the profile bio at 80 (some accounts now show up to 160), a comment at roughly 150, a username at 2 to 24, and a display name at 30. The "4,000-character caption" figure that circulates online is real, but it belongs to the photo-post description field in TikTok's API, not to ordinary videos.
TikTok doesn't publish one clean chart of these numbers, and its own in-app composer shows no running count for most fields. That gap is exactly why the wrong "4,000" figure spread. This guide separates what TikTok's developer documentation actually states from what creators and marketing posts have claimed, and flags the numbers TikTok has never officially confirmed.
TikTok character limits at a glance
| Field | Limit | Source |
|---|---|---|
| Video caption | 2,200 characters | TikTok Content Posting API reference |
| Photo post title | 90 characters | TikTok Content Posting API reference |
| Photo post description | 4,000 characters | TikTok Content Posting API reference |
| Bio | 80 characters (some accounts show up to 160) | Long-standing figure; TikTok has not published a single current number |
| Comment | ~150 characters | Widely reported; not confirmed in TikTok's public help pages |
| Direct message | ~1,000 characters | Widely reported; not confirmed in TikTok's public help pages |
| Username | 2–24 characters | TikTok Help Center |
| Display name | 30 characters | TikTok Help Center |
| Live title | ~32 characters | Widely reported; not confirmed in TikTok's public help pages |
| Hashtags per post | Up to 30 (TikTok recommends 3–5) | TikTok creator guidance |
Where TikTok's own documentation gives a number, this table cites it. Where the figure comes from creator reports or third-party tools rather than TikTok itself, that's marked so you're not building a strategy on an unconfirmed claim.
Why the "4,000-character caption" claim is wrong
TikTok's Content Posting API reference — the developer documentation for posting content programmatically — states three separate limits: a video caption tops out at 2,200 characters, a photo post title at 90, and a photo post description at 4,000. Those are three different fields on two different post types.
The "4,000" number that shows up in creator posts and marketing blogs about video captions is the photo-post description limit, misapplied to videos. TikTok has never published an in-app figure for the video composer that contradicts its own API reference, so the honest answer is: video captions max out at 2,200 characters, and claims of 4,000 for videos trace back to social posts, not to TikTok's documentation.
One more wrinkle: TikTok's API measures captions in UTF-16 code units, not the character count you'd get from counting letters by eye. Most Latin text counts the same either way, but emoji and characters outside the basic Latin alphabet can count as two units instead of one, so a caption that looks like 2,190 characters in a text editor might already be over the limit.
What actually shows in the feed
The 2,200-character ceiling is what TikTok will accept, not what viewers see without tapping. In the main feed, only the first roughly 100 to 150 characters of a caption display before a "more" link appears. Whatever you write after that point is there for search and for viewers who tap through, not for the scroll-by hook.
Practical takeaway: put your strongest line, your keyword, and your call to action inside the first 100 characters. Use the rest of the 2,200-character budget for context, a story, or search terms — TikTok increasingly treats captions as searchable text, so a caption stuffed with only emoji and no words gives its search system nothing to match.
Bio: 80 characters, unless your account shows more
TikTok's classic bio limit is 80 characters — tight enough that every word matters. Over the past year, many creators have reported their bio field accepting up to 160 characters, and some report an intermediate 120-character stage before that. TikTok has not published a single official number that resolves this, and the rollout appears to be staged rather than universal.