Character limit changes, tracked as they happen
Platforms change character limits without announcement, and most tools never notice. This changelog records every limit change we confirm, newest first, so you can see how current the numbers on our counters are - and what changed recently enough to break an old template.
-
Added the thread splitter, batch limit checker and this limit changelog, shipped the site as an installable offline-capable app, redesigned the icon, and gave every counter draft autosave, share-by-link, .txt/.md drag-and-drop import, a word frequency panel with keyword density, Flesch readability scoring, hashtag and mention extraction, text cleanup and case tools, plus a switchable counting mode (graphemes, code points, UTF-16 units or CJK weighting).
-
Caption limit remains 2,200 characters with a 30-hashtag cap; several third-party reports of shortened captions on Reels apply to the Reels text overlay, not the caption field.
-
Post limit raised from 256 to 300 characters, matching the limit the chat protocol (AT Protocol) had supported for some time.
-
Channels introduced with a 4,096-character text limit for channel updates - separate from the long-standing 65,536-character regular message limit.
-
Launched with a 500-character post limit, directly inviting text posts that overflow X's free 280.
-
X Premium (then Twitter Blue) subscribers gained long posts - initially 4,000 characters, later raised to 25,000. Free accounts stay at 280.
-
Caption limit expanded from 300 to 2,200 characters, turning captions into a real SEO surface inside the app.
-
Responsive Search Ads became the default ad type: up to 15 headlines of 30 characters and 4 descriptions of 90 characters per ad.
-
Weighted counting introduced: CJK characters count as two, most emoji count as two, and every URL is charged a flat 23 characters regardless of length.
-
The famous doubling: the public post limit went from 140 to 280 characters for all languages except Japanese, Korean and Chinese.
-
Post composition limit raised from roughly 1,300 to 3,000 characters, with the first ~200 shown before the 'see more' cut-off.
-
Direct messages expanded from 140 to 10,000 characters.
Entries marked 'reported' come from credible secondary sources we could not re-test against a live account. Platforms change limits without notice - always confirm inside the app before a time-sensitive campaign.
Know a limit we missed?
We would rather be corrected than stay wrong. Send us the platform, the field and the new number - with a screenshot if possible - and we will verify and credit the update.
Frequently asked questions
Why do platforms change character limits at all?
Mostly product strategy. X doubled 140 to 280 in 2017 to reduce truncation complaints, TikTok extended captions to 2,200 in 2022 to turn them into a search surface, and Bluesky raised 256 to 300 in 2024 once the underlying protocol allowed it. Every change silently breaks old templates and scheduled posts, which is exactly why a changelog is useful.
How current are the limits on the counter pages?
Each counter states the limit reviewed at the top of the page. When a platform changes a number and we confirm it, the counter is updated the same day and the change is recorded on this page.
A limit on my account does not match this list. Why?
Limits can vary by account type (for example X Premium posts up to 25,000 characters), by region, and by surface - a caption field and a comment field on the same app can have different limits. The counters here always describe the standard free-account case.
How can I report a change you have not recorded yet?
Use the contact page and tell us the platform, the field and the new limit. Include a screenshot if you can - it lets us mark the entry as verified instead of reported.