Naming convention for tags with CamelCase or Pre-Fix

Are there any official naming conventions for tag names on Stack Exchange? And if not, how should tags be named?

From what I understand, one typically adds a dash (-) where you normally would leave a space, but how about tags that derive from words that are CamelCased, or somehow Prefixed?

Examples (which also shows some inconsistencies):

Topic            | Existing tag         | Alternative tag?
----------------------------------------------------------
MatterControl    | matter-control       | mattercontrol
MakerBot         | makerbot             | maker-bot
Post-production  | postproduction       | post-production
Post-processing  | post-processing      | postprocessing
Multi-material   | multi-material       | multimaterial


Which of the above tag alternatives should we go for?

• Makerbot and MatterControl are proper nouns. In the case of MatterControl you should use camelcase (since that's how MatterControl does it themselves) and "Makerbot" should just be "Makerbot" (no hyphens or camelcase). – Tom van der Zanden May 11 '16 at 12:08

Looking at other SE sites, the most common approach seems to make everything lowercase (including names and trademarks) and using hyphens whenever there would be a space or hyphen in normal usage.

As such:

• MatterControl becomes mattercontrol

• Makerbot becomes makerbot

• Post-production becomes post-production

• Post-processing becomes post-processing

• Multi-material becomes multi-material

• I agree that this seems like the most sensible way of setting tag names. If no one has any strong opinions against this, I suggest we go through the tags archive and correct what we can, and keep this in mind when reviewing new posts. – Tormod Haugene May 13 '16 at 7:44

Based on the answers already posted, I am changing to , I have only just seen this and it immediately looked odd.

Also, what is the difference between and , or are they synonyms? has no description whatsoever. See What is the difference between post-production and post-processing?

I would say we could use synonyms to stay with clear tag namespace.In this case we apply following pattern (especially for proper name (product name)):

Topic          | Existing tag    | Synonym?
---------------+-----------------+--------------
MatterControl  | mattercontrol   | matter-control


I think dash could be used to separate kinda branch for example:

app-cura, app-mattercontrol, app-meshmixer << these could be also synonyms
3d-printer, 3d-models, 3d-design


of course we already have tags like

feature-request, switching-power-supply


but they are descriptive and would be unreadable written as one word, one may say these describe actions

• I agree, if someone accidentally creates a new tag for an existing similar tag, we can just create synonyms. – tbm0115 May 10 '16 at 14:06
• @tbm0115 Synonyms aren't really designed for minor variations in tense or formatting; text completion will take care of that. Synonyms were intended to be used where there are two completely different words used to describe a concept (think: 'car' > 'auto'). Adding a lot of unnecessary synonyms will only fill your tag listings with a lot of unnecessary entries. I would avoid it. – Robert Cartaino May 10 '16 at 14:24
• So in other words, we should try to avoid having both "matter-control" and "mattercontrol", but rather stick with only one? I guess that makes sense. – Tormod Haugene May 11 '16 at 6:46
• @darthpixel, I'm not sure if I think having tags that prefixes what the topic is about, such as app- mattercontrol, is a good idea, since this strategy only would make sense to already existing users familiar with the pattern. In addition, do we really need a prefix to avoid ambiguity in the tag names? – Tormod Haugene May 11 '16 at 6:50
• @TormodHaugene maybe you are right. I always gravity to organize things, that's why I proposed app-. Of course it's not necessary and of course it will mean something only for existing users. So there was no such proposition ;) – darth pixel May 11 '16 at 7:59