Character Counter for Mastodon Posts

Paste a post and content warning to estimate the character budget. Enter your instance’s own limits when they differ.

Use this local tool with JavaScript enabled. Your inputs stay in your browser.

How it works

Mastodon’s validator counts grapheme clusters after replacing recognized body URLs with a fixed reservation and remote mentions with their local @username. Content-warning text is prepended without an added separator and counts literally, including any URLs inside it. The documented default settings are 500 characters and 23 per URL; use your instance configuration when different. Remaining = maximum − counted length; negative means over. Counts are integers, with no rounding.

This local estimator recognizes ordinary HTTP(S) URLs and ASCII remote mentions. Its entity parser is not Mastodon’s complete server extractor: unusual domains, parentheses, punctuation and mention syntax can differ. Bare domains, embedded URL candidates without a valid start boundary, and remote-mention domains longer than 253 characters are counted literally. Whitespace-only bodies count as empty; content warnings still count literally. Confirm the final budget in your instance composer. Input is limited to 100,000 combined UTF-8 bytes.

Worked examples

URL reservation

Hello https://example.com counts as 6 text characters plus 23 for the URL: 29 used and 471 remaining at the default limit.

Warning and remote mention

Body @alice@example.org hi and warning CW count as 9 body characters plus 2 warning characters: 11 used and 489 remaining.

Frequently asked questions

Is every instance limited to 500?
No. Use configuration.statuses.max_characters and characters_reserved_per_url from your instance settings. This tool does not fetch your server.
Does a content warning count?
Yes. The validator includes the warning text in the same budget. URL reservations apply to the body, not the warning.
How do remote mentions count?
For a recognized @alice@example.org mention, the domain is excluded and @alice counts. This estimator supports ordinary ASCII usernames and hostnames.
Does an emoji count as one character?
Grapheme clusters are counted. A family emoji or an accented letter composed of several code points can form a single cluster; segmentation can vary across Unicode versions.
Why does my server disagree?
Server versions, custom settings and entity extraction may differ. This tool labels its count as an estimate rather than guaranteeing a server match.

Sources

Last reviewed 2026-11-14; next review due by 2027-02-12. The method is written out above so you can check our math.