I am creating a tagging system like Facebook. But unlike Facebook, where it would show all kinds of objects (eg. people, page, groups) under the '@' symbol, I want to separate things better. For example, I would like to use '@' to tag people only. And use another symbol to tag some other objects (eg. objects like page in FB).

I am thinking about to use '#' to do that, but '#' is now used in many sites as a symbol for hashtags, which is quite a different concept as it is not tagging an object but creating a metadata for people to find related conversations around it.

I am wondering if it is wise to use '#' in this case. I am afraid that it would create confusions to users. However, as the two objects on my site are quite different sort of things, I think using different symbols for them is still a nice idea. Is there any popular tagging symbol other than '@' or '#' that is being used? Or any other suggestions to let users understand the use of the symbols better? Thank you!

  • what is the point of showing different objects?
    – Igor-G
    Commented Feb 10, 2015 at 9:56
  • @Igor-G is right, is there a reason why you want to separate the two?
    – UXerUIer
    Commented Feb 10, 2015 at 13:28
  • Why is a hashtag different to a tag? Both link to all entities hashtagged/tagged with this term.
    – unor
    Commented Feb 10, 2015 at 13:36
  • @unor that's entirely not true. A @ is directed at a user where they receive a notification of their mention. As for a hashtag, it doesn't alert the "other end" only because there isn't one (unless you count the list page). This, however, is pertaining to Facebook and Twitter.
    – UXerUIer
    Commented Feb 10, 2015 at 13:42
  • @Majo0od: I mean a hashtag (as used by Twitter, prefixed with a #) and a tag (as used by blogs, on Stack Exchange, etc.). I’m not using Twitter, but AFAIK these don’t have anything to do with linking user accounts or alerting users.
    – unor
    Commented Feb 10, 2015 at 13:46

3 Answers 3


1. Limit the different types of tags as much as possible

Make sure each of the different tag types in your system add value. If different tag types add obvious value to the end user then they will use them.

2. Tags should be optional

Your system should work without requiring users to tag anything at all. Tags are optional bits of data that enhance user experience not control it. If you force people to tag things then it will most likely be more frustrating than it is helpful for them.

3. Design a system that is easy to learn

Say your system has 6 distinct object types that would be useful to tag. Order these objects from most used to least used and then use tags based on the ordinal numbers of a keyboard. The ordinal nature of these symbols would be true on most but not every keyboard so consider your user base when choosing your symbols. Consistency is key here so choose a character that is typed with SHIFT + a number. Keep the tagging characters together so they don't get fragmented by non-tagging characters.

  • ! 1
  • @ 2
  • # 3
  • $ 4
  • % 5
  • ^ 6

4. Automatically identify objects for your users

Don't require the user to type tags if you can identify objects automatically. There is a fine line here so make sure it is easy to refuse any tags your program automatically assumes. People are more likely to tag names of friends or places if your system recognizes them automatically.

  • I don't follow your reasoning in point 3 why those are most used to least used characters, nor why you would based tags on ordinal numbers on a keyboard, especially given that the symbols change between different keyboards. Take a look at the Russian keyboard layout as an example: en.wikipedia.org/wiki/File:KB_Russian.svg
    – JohnGB
    Commented Feb 10, 2015 at 14:29
  • The order of the symbols chosen are more subliminal than anything else. In reality easy to learn would be no more than 3 symbols and !, @, # (1,2,3) are right next to each other on most keyboards so there is less scanning when looking for the appropriate tagging character.
    – DaveAlger
    Commented Feb 10, 2015 at 15:24
  • I think you may be assuming that most of the world use a standard US layout. Most keyboard layouts don't follow that format - not even within the UK, or mainland Europe. I would also argue that ! is in general a poor choice as it isn't visually distinct. But if you were focusing on the US market, and left out the ! I would agree with your reasoning.
    – JohnGB
    Commented Feb 10, 2015 at 15:56

If there is an input field for tags on your website I will suggest:

  1. Tags with nothing before it = tags
  2. Tags with @ = people

Users do not learn any other symbol, they learn the @-symbol on facebook and twitter. And all the other tags without any symbol are just tags.


Tags have all been learnt. There has been no tag symbols in common use (as a tag) for more than 10 years. That shows that tag symbols will be learnt if your service is popular enough. Of course the challenge is in getting your service to be popular in the first place.

Assuming you would like to go with what already makes sense (I'd recommend this route), my personal guide is:

  • @ person or place
  • # topic, code, or ordinal number
  • use a style for a generic tag tag design

At some point in the future, I'm going to bet that + becomes a common tag for something, but it hasn't happened yet.

Edit: Savv pointed out that Google+ uses the + already, so clearly it's already happened. I'm clearly not a big Google+ user :)

  • 1
    Google+ uses + instead of @ for tagging people.
    – Savv
    Commented Feb 10, 2015 at 12:01
  • 1
    @Savv I haven't tagged anyone in G+ yet, but it seems you're correct. My prediction turns out to be accurate for time travellers.
    – JohnGB
    Commented Feb 10, 2015 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.