Mastodon's default post limit is 500 characters -- but that number is a starting point, not a ceiling. Unlike centralized platforms where every user shares the same rules, Mastodon lets each instance admin set their own character limit. Some servers run at 5,000 characters. A few go to 10,000. The 500-character default is a deliberate design choice, not a technical constraint.
Here is every default Mastodon character limit in one place, verified against Mastodon's official documentation and source code for 2026.
Every Mastodon character limit (2026 defaults)
| Field | Default limit | Notes |
|---|
| Post (toot) | 500 characters | Instance admins can raise this; some servers allow 5,000 or 10,000+ |
| Display name | 30 characters | Shown above your handle |
| Bio / About | 500 characters | Supports links, mentions, hashtags, and basic HTML |
| Profile metadata fields | 4 fields | Each: 255 characters for the label, 255 for the value |
| Content warning (CW) | 500 characters | The spoiler/subject line above a hidden post |
| Poll options | 4 options max | Each option: 50 characters |
| Alt text (image descriptions) | 1,500 characters | Per image |
| Hashtags | No published limit | Excessive use may be filtered by some instances |
| Mentions | Count toward post limit | @user@instance.social is often 20--40+ characters |
These defaults come from Mastodon's official documentation and the Mastodon GitHub repository. Your specific instance may differ -- check your server's about page for custom limits.
Why 500 characters? A deliberate inheritance
The 500-character default was not arbitrary. Mastodon launched in 2016 as a federated alternative to Twitter, which at the time limited posts to 140 characters. Eugen Rochko set the limit at 500 -- generous enough to express a complete thought but short enough to preserve the microblogging feel.
It was a philosophical decision: long enough to avoid the contortions of 140-character Twitter, short enough to keep timelines scannable. That philosophy persists today. Most large instances, including mastodon.social (the flagship server), still run at 500. The limit became part of the culture, not just the code.
Instance variation: your limit may not be 500
Because Mastodon is open-source and federated, each instance admin controls their own character limit. Here is what that looks like in practice:
- mastodon.social -- 500 characters (the default)
- infosec.exchange -- 500 characters
- fosstodon.org -- 500 characters
- universeodon.com -- 1,500 characters
- writing.exchange -- 5,000 characters
- Some smaller instances -- 10,000+ characters
If you are on a 500-character instance and want more room, your options are moving to an instance with a higher limit or using content warnings and threads to break long posts into readable segments.
To find your instance's limit, start composing a post. The character counter in Mastodon's compose box shows remaining characters based on your server's setting.
How Mastodon counts characters
Mastodon counts characters, not bytes -- similar to Twitter, but with differences worth knowing:
- URLs count at full length. Unlike Twitter, which shortens all links to 23 characters via t.co, Mastodon counts the complete URL. A 90-character link eats 90 of your 500.
- Mentions count fully. Tagging @user@instance.social uses every character in that string, which can run 20 to 40+ characters depending on the instance domain. Tag three people on long-domain instances and you have used a quarter of your post before writing a word.
- Hashtags count at full length. #MastodonCharacterLimit is 24 characters against your total.
- Content warnings have their own limit. CW text gets a separate 500-character allowance and does not eat into your post body.
- Emoji shortcodes (
:emoji_name:) count as their full text length, including the colons.
This full-length counting is where Mastodon feels tighter than its 500 suggests. Two mentions and a URL might leave you 350 characters for actual content. Use a character counter to check before posting.
| Platform | Post limit | Notes |
|---|
| Mastodon (default) | 500 | Instance-dependent |
| Twitter / X (free) | 280 | 25,000 with Premium |
| Bluesky | 300 | Counts graphemes, not code points |
| Threads | 500 | Same default as Mastodon |
| Facebook | 63,206 | Rarely a constraint |
| LinkedIn | 3,000 | Posts, not articles |
| Discord | 2,000 | 4,000 with Nitro |
| Slack | 40,000 | Workplace messaging |
Mastodon's 500 characters sits alongside Threads and nearly double Bluesky's 300-character limit. For the full comparison across every platform, see our social media character limits guide.
Mastodon supports limited formatting -- less than Slack or Discord, more than Twitter:
- Mentions: @user or @user@instance.social
- Hashtags: #topic
- Links: plain URLs are auto-linked
- Line breaks: preserved as written
- HTML (in some contexts): basic tags like
<b>, <i>, <a> are supported in the API, but the web compose box strips them
Mastodon does not natively support bold or italic syntax in the compose box the way Discord does with *bold* or _italic_. Some third-party clients add Markdown support, but it varies. If you want styled text that works everywhere, Unicode formatting is the consistent option. You can build it with our Mastodon text formatter, and it will display correctly on every instance and client.
For detailed formatting options, see Mastodon text formatting: bold fonts and more.
The profile squeeze: 30 characters for a display name
Mastodon's 30-character display name limit is one of the tightest in social media. Twitter allows 50. Discord gives you 32. Bluesky offers 64. At 30 characters, longer names get truncated whether you want them to or not.
The bio is more generous at 500 characters, matching the post limit. Profile metadata fields -- the four label-value pairs on your profile -- allow 255 characters each for both label and value. Most people use these for verification links, pronouns, location, and a website URL.
Make every character count
On a 500-character instance, space is a real constraint. Mentions and URLs eat into it fast. The practical workflow: draft your post, paste it into a character counter, and trim before hitting publish. For cross-platform posting, check each destination's limits first. What fits in Mastodon will not fit in Bluesky's 300 or Twitter's 280, and a post from a 5,000-character instance will not fit on a 500-character one either.