Counted in your browser, nothing uploaded

TikTok caption counter: 2,200 UTF-16 runes

Checked UTF-16 code unitsFree, nothing leaves your browser

Short answer

TikTok's own Content Posting API reference states the caption maximum as 2,200, in UTF-16 runes. The counter below enforces exactly that unit, so an emoji outside the Basic Multilingual Plane costs two of your 2,200 rather than one. Source: the TikTok for Developers direct post reference, read 2026-10-08.

Key takeaways

  • The limit is 2,200, documented by TikTok as "2200 in UTF-16 runes", read 2026-10-08.
  • A UTF-16 code unit count is what a JavaScript string length reports, so an emoji outside the Basic Multilingual Plane is 2.
  • The field is called title in the API and it is the caption a viewer sees. Leave it out and the post carries no caption at all.
  • Nothing is uploaded. The counter runs on the text in your browser.

The counters

TikTok states the unit, so the counter does not choose one. The reference calls it UTF-16 runes, which is the code unit count that a JavaScript string length returns: a character outside the Basic Multilingual Plane is stored as a surrogate pair and occupies two units.

title, which is the video caption

UTF-16 code units, so an emoji outside the Basic Multilingual Plane counts as 2 and a zero width joiner sequence counts as 3 plus 2 for each additional character.

0 / 2,200 UTF-16 code units (0%)

Counted in UTF-16 code units. UTF-16 code units, so an emoji outside the Basic Multilingual Plane counts as 2. The 2,200 figure is stated by this platform document, read 2026-10-08.

Where the text is cut off

The TikTok pages read on 2026-10-08 state no character count at which a caption is cut off. The counter measures length against the documented maximum; it does not predict a fold.

What TikTok's reference actually says

The direct post reference in the Content Posting API defines a title field and then describes it as the caption, in three consecutive sentences: "The video caption. Hashtags (#) and mentions (@) will be matched, or deliminated by spaces or new lines." "The maximum length is 2200 in UTF-16 runes." "If not specified, the ticket post will not have any captions."

That is the whole of the official wording Koldflux found for caption length, and it is enough to build a counter against because both the number and the unit are stated.

The same reference also bounds two other fields: the publish_id "maximum length of this field is 64" and the upload_url "maximum length of this field is 256". Those are transport fields rather than creator-facing text, so the counter on this page does not enforce them.

UTF-16 runes is not the same as characters

Most people read 2,200 as 2,200 things a reader sees. TikTok documents it as UTF-16 code units, which is a smaller number for any text containing an emoji, and a caption written with emoji has many of them.

The table below is computed from the same three inputs the counter uses: the string, the UTF-16 encoding rule, and the 2,200 budget. The last row is the string Shot, a clapper board emoji, in, three Japanese characters, today, a line break, and Day 2 of 12.

The last row is the practical point. A caption written in ASCII costs the documented unit the same as its character count. A caption written with emoji costs more, and the extra cost is invisible in most editors because every one of them counts characters rather than code units.

The API calls the caption a title, and it is the caption you see

The field name in the reference is title. The description under it is "The video caption." A creator writing in the app writes into a box labeled Caption, and the reference says the same text is submitted as a field called title.

The reference adds that hashtags and mentions "will be matched, or deliminated by spaces or new lines". That is the one documented behavior about how the caption text is parsed, and it matters for a draft that relies on a mention resolving: a mention separated from the word before it by a space or a line break is what the parser looks for.

If title is left out of the request, the reference says the post will carry no caption. Omitting it is not the same as sending an empty string in every client, and this page does not claim which one a given app does.

Frequently asked questions

What is the TikTok caption character limit?

2,200, documented by TikTok itself as "2200 in UTF-16 runes" in the Content Posting API direct post reference, read 2026-10-08. It is a UTF-16 code unit count, so an emoji outside the Basic Multilingual Plane uses two of them.

Why does TikTok count in UTF-16 runes?

The reference states the unit but does not explain the choice. UTF-16 is what JavaScript string length reports, which is why a counter built on text.length matches it exactly and a counter built on a code point count does not.

How many emojis fit in a 2,200 unit caption?

An emoji outside the Basic Multilingual Plane is a surrogate pair and costs 2 UTF-16 code units, so 1,100 of them fill the budget on their own. This is computed, not a figure read from a page.

Does TikTok publish where a caption is cut off?

The TikTok pages read on 2026-10-08 state no character count at which a caption is truncated. This page therefore does not claim a fold position.

Sources

  1. TikTok for Developers: Direct Post, Content Posting API reference (checked 2026-10-08)

Every figure on this page is quoted from the platform document named above, with the date it was read. Where those pages state no limit, this page states none and says so, rather than filling the gap with a figure from somewhere else.

More TikTok tools