You have likely noticed that hashtags on Mastodon behave differently depending on whether you type them in all lowercase or use mixed case like #Mastodon. Many users expect the hashtag to be treated exactly as typed, but the software normalizes them in ways that affect discoverability and federation. The reason is that Mastodon converts all hashtags to lowercase when storing and federating them, so #Mastodon and #mastodon are considered the same tag. This article explains the technical normalization process, how it impacts your posts across instances, and what you can do to ensure your hashtags reach the intended audience.
Key Takeaways: Mastodon Hashtag Case Normalization
- Hashtag normalization to lowercase: Mastodon converts every hashtag to lowercase during posting and federation, so #Mastodon becomes #mastodon on the server.
- Federation sends only lowercase: When a post federates to another instance, the hashtag is always transmitted in lowercase, regardless of how you typed it.
- Search and timeline filtering: Searching for #Mastodon returns the same results as #mastodon because the system treats the normalized form as the canonical tag.
Why Mastodon Normalizes Hashtags to Lowercase
Mastodon normalizes hashtags to lowercase to prevent fragmentation of the tag space. If mixed case were allowed, #Mastodon, #MASTODON, and #mastodon would be three separate tags, splitting the audience for the same topic. The normalization ensures that all posts using the same word, regardless of case, appear under a single unified tag.
The normalization happens at the server level when you compose a post. The Mastodon backend converts the hashtag string to lowercase before storing it in the database. This means the tag is stored as #mastodon even if you typed #Mastodon in the composer. The original mixed-case version is not preserved anywhere in the database or when the post is rendered in the web interface or mobile apps.
Federation and Hashtag Case
When a post federates to another Mastodon instance, the ActivityPub message includes the hashtag in its normalized lowercase form. The receiving instance also stores it as lowercase, so the tag remains consistent across the entire fediverse. If you use a mixed-case hashtag in a reply, the same normalization applies both on your instance and on any remote instance that processes the reply.
User Display vs Server Storage
Although the server stores and federates the hashtag in lowercase, the user interface may display the tag as you typed it in the composer. This is a client-side rendering choice. The web app or mobile app can choose to show the original mixed-case text while the underlying link points to the normalized lowercase tag. Some third-party Mastodon clients preserve the mixed-case display, but the functional behavior is the same: clicking the tag leads to the lowercase version.
How to Use Hashtags Effectively Despite Normalization
Because normalization is automatic and irreversible, you do not need to worry about case when typing hashtags. However, you should be aware of a few practical implications:
- Always use lowercase in search and filters
When searching for a hashtag in the Mastodon search bar or when creating a timeline filter, type the tag in lowercase. Searching for #Mastodon will return the same results as #mastodon, but using lowercase avoids confusion and ensures consistency across clients. - Choose the most common lowercase form for new tags
If you are creating a new hashtag that other users might adopt, use the lowercase version in your post. Even though the system normalizes it, other users will see the lowercase form when they click the tag. Using a mixed-case version in the composer may cause confusion if a third-party client shows the mixed-case text but the canonical tag is lowercase. - Do not rely on case to distinguish tags
You cannot use case to create separate tags for the same word. For example, #Apple (the company) and #apple (the fruit) would both normalize to #apple. If you need to distinguish between two topics, add additional words to the hashtag, such as #AppleCompany or #AppleFruit. - Check the tag page before posting
Before you post with a new hashtag, click the tag in the composer preview or search for it in the search bar. This shows you the existing posts that use the normalized tag. You can verify that the tag is not already being used for a different topic.
Common Misconceptions About Hashtag Case on Mastodon
Several misunderstandings about hashtag case persist among Mastodon users. Clearing them up helps you use tags more effectively.
#MixedCase makes the tag more discoverable
Some users believe that using mixed case makes a hashtag stand out and attract more attention. Because the server normalizes to lowercase, the visual appearance of the tag in the timeline is the only difference. The discoverability is identical for all case variants of the same word. There is no ranking or algorithmic preference for lowercase or mixed case.
Hashtag case matters for federation to non-Mastodon platforms
Other ActivityPub platforms like Pleroma, Misskey, or Pixelfed may handle hashtag case differently. Some platforms preserve the original case as typed, while others normalize to lowercase. When a post from Mastodon federates to a platform that preserves case, the receiving platform receives the lowercase version from Mastodon. The receiving platform may display it as lowercase or apply its own normalization rules. You cannot control this behavior from Mastodon.
You can bypass normalization by editing the post after posting
Editing a post does not change the stored hashtag. If you originally typed #Mastodon and later edit the post to change the hashtag to #MASTODON, the server still normalizes it to #mastodon. The edit does not bypass the normalization logic. The only way to change the canonical tag is to delete the post and create a new one with a different word.
| Item | Mixed Case (e.g., #Mastodon) | Lowercase (e.g., #mastodon) |
|---|---|---|
| Server storage | Normalized to lowercase | Stored as lowercase |
| Federation to other instances | Sent as lowercase | Sent as lowercase |
| Display in web interface | May show original text but links to lowercase | Shows lowercase |
| Search results | Returns same results as lowercase | Returns same results as mixed case |
| Ability to create separate tags | Not possible | Not possible |
Because Mastodon normalizes all hashtags to lowercase, you can type hashtags in any case without worrying about fragmentation. The system ensures that every post using the same word appears under a single tag. Use lowercase in search and filters, choose the most common form for new tags, and do not rely on case to distinguish topics. The next time you compose a post, remember that the case you type is cosmetic only; the server handles the rest.