# Invisible way to force display order of tags?

**URL:** https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000
**Category:** Support
**Tags:** tags
**Created:** [May 29, 2025, 1:18am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000 "2025-05-29T01:18:07Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![tknospdr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tknospdr/32/529762_2.png) [@tknospdr](https://meta.discourse.org/u/tknospdr)
#### Post date: [May 29, 2025, 1:18am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/1 "2025-05-29T01:18:07Z")

</div>

I’m working on a site that deals with animals that are routinely referred to by their latin names.  
I want to set up genus and species tags that can be added to topics but I’ll need them to always display in that order even if the species name is lower than the genus name alphabetically.

Is there a way to do that without resorting to adding some sort of character to the beginning of one group or the other?

For example, `Theraphosa` `blondi` needs to be listed in that order, not alphabetical

 ![Tag fail!](https://global.discourse-cdn.com/meta/original/4X/f/8/1/f812b168359871f72e66d64762136b6e889d7393.png)

---

<div class="post-metadata">

### Author: ![ondrej](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ondrej/32/198804_2.png) [@ondrej](https://meta.discourse.org/u/ondrej)
#### Post date: [May 29, 2025, 10:04am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/2 "2025-05-29T10:04:36Z")

</div>

Mhh 🤔

As far as I know you can’t change the order of them per se. They are either sorted by popularity or alphabetically I think.

To create your own order you’d probably need some sort of plugin I’d imagine? You can try [developing this yourself](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515) or ask in #Marketplace

---

<div class="post-metadata">

### Author: ![tknospdr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tknospdr/32/529762_2.png) [@tknospdr](https://meta.discourse.org/u/tknospdr)
#### Post date: [May 30, 2025, 2:36am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/3 "2025-05-30T02:36:06Z")

</div>

It turns out the answer is so much simpler than you’d think, and should probably be in a document for future reference.

I spent all day working trying to get both a theme component and a plugin to work to do what I wanted, with no luck.

Then for fun I looked at the values of ascii characters and settled on some lower values to put in front of my tags. I figured it might be a little ugly but at least I’d have them in the proper order.

Turns out when you use non alphabet characters, they remain with the term, but are not displayed.

So in my Genus tag group, I used the single quote with a value of 39, and in my Species tag group I used a comma with a value of 44.

This makes all Genus terms sort before all Species terms, and then additional tags are all higher since the alphabet starts with a value of 65.

To create a Genus term I type `'Theraphosa` and it’s displayed as `Theraphosa` but it’s displayed before my Species of `blondi` created as `,blondi`, and they both come before an additional tag of `terrestrial`, even though alphabetically that would be between those two words.

 ![winning-at-tags](https://global.discourse-cdn.com/meta/original/4X/9/d/2/9d2b89ee30e49537da18c4a914272a788f9095ca.png)

I hope this helps someone else, and I really home someday Discourse will create the plugin I could not.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [May 30, 2025, 2:58am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/4 "2025-05-30T02:58:57Z")

</div>

That is a great workaround. As this question has often come up in the past for different things

Like state then city, car manufacturer and model.

Etc..

One question though. With using the “'” and “,”. I imagine a minor caveat would be it might affect using “#” to put tag say here ie #ux ?

This is quite helpful as the alternative was to create numerous long tags.

---

<div class="post-metadata">

### Author: ![tknospdr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tknospdr/32/529762_2.png) [@tknospdr](https://meta.discourse.org/u/tknospdr)
#### Post date: [May 30, 2025, 3:05am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/5 "2025-05-30T03:05:21Z")

</div>

It appears to work perfectly, I didn’t even have to know about the hidden character, I just started typing the hashtag then A-V and the list filtered down for me as normal.

 ![Works well](https://global.discourse-cdn.com/meta/original/4X/8/d/1/8d138da7b109aedcece0f212a1a51f7cf96d43db.png)

---

<div class="post-metadata">

### Author: ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)
#### Post date: [May 30, 2025, 7:08am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/6 "2025-05-30T07:08:55Z")

</div>

That’s really thinking out the box. Glad you got it working!

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [May 30, 2025, 7:13am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/7 "2025-05-30T07:13:14Z")

</div>

Awesome ingenuity and discovery. Hopefully the team spots this.

However this could maybe added as a supplement to documentation on tags. Maybe in the wiki? There is a documentation project. Main topic introducing it here

> [@Documentation contribution opportunities](https://meta.discourse.org/t/documentation-contribution-opportunities/326614):
>
> Discourse documentation is the primary location for administrators, moderators, users, and sysadmins to find help with using Discourse and managing their sites. While this documentation is robust and covers a lot of ground, there are some missing areas that we do not have documented yet. This is a great opportunity for the community to get involved in helping to refine this important part of the Discourse project. We would love to see more people getting involved in creating documentation cont…

---

<div class="post-metadata">

### Author: ![ToddZ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/toddz/32/328350_2.png) [@ToddZ](https://meta.discourse.org/u/ToddZ)
#### Post date: [February 11, 2026, 3:19am UTC](https://meta.discourse.org/t/invisible-way-to-force-display-order-of-tags/368000/10 "2026-02-11T03:19:18Z")

</div>

I’m curious to know if this workaround is still working for you.

I tried it today in relation to [another topic](https://meta.discourse.org/t/make-tag-banner-also-appear-on-tagged-topic-pages/395265/10) and found that when I create a tag today with an apostrophe or comma it’s either rejected or silently stripped out. (Prefacing a tag with `~` is accepted for some reason, though – but it doesn’t consistently affect alpha sort order.)
