I'm building an application to allow technical people to enter configuration changes. I'd like to add tags to each change.

Right now I'm using spaces, commas and semicolons. It appears SO uses spaces and requires hyphens to make multiple words. I read something that leads me to believe that WordPress uses commas and that a space isn't a separator.

Is there any best practice out there? Has anyone had any good or bad experiences?

  • Thank you all! All the comments were helpful. Wasn't really sure how to pick one right answer. "Technical people" are database administrators. I'm going to use commas and semi-colons for now and convert spaces to hyphens. Eventually I'll have a cool jQuery script to make tagging better but for now it's a plain text box.
    – graz
    Mar 14, 2011 at 19:04

3 Answers 3


I think of the StackOverflow tagging method as being good for programmers. I mean, it's kind of unnatural, but there are technical advantages. And programmers are used to all sorts of weird things in place of spaces.

The - in the tags is technically convenient for a couple reasons:

  1. The - can be used in the URL neatly and reliably shared by email (email programs are notorious for screwing up unformatted URLs). Technically a space would be url-encoded as a + or a %20. However, Google will also interpret dashes as spaces and that's what matters.
  2. In StackExchange you can actually search for tags in the search box and when they have a - in them, the search engine is able to infer that you're looking for tags.

For those reasons and more I've copied their method for two of my own sites (also relating to programmers).

With all that said, for any other crowd I would lean towards the comma as the separator and actually allow spaces in the tags themselves. Obviously spaces are more natural for the user. It does complicate some things behind the scenes however. With this method you should take extra special care with URL encoding. Spaces should be converted to dashes in URL's to prevent misquoted links from going around in emails and such. And because of that, you should probably not allow apple banana and apple-banana to coexist in your database.


I think this is one of those cases where there is no correct answer. It will depend on your context and target audience.

As Steve says space works with Stack Overflow because programmers are used to separating keywords by spaces. You see the system break down when you get to the sites used by non programmers (and even on Stack Overflow itself occasionally) when two tags get used when clearly one is implied (e.g "visual" and "studio" when it should have been "visual-studio".

Having a comma as separator is more natural as that's the way lists are separated in (for example) English.

The one thing to bear in mind is that the character you choose for your separator then can't appear in your tags.

  • 1
    Definitely agree that the comma is a "natural" separator. graz doesn't say what "technical people" means, and it may be they are programmers and spaces work well. However, if in doubt go for something well recognised - the humble comma.
    – gef05
    Mar 14, 2011 at 13:25

Don't think in these rather technical solutions like which separator to use. Rather, auto complete the tag input field so mostly there is no need for tags separators.

Only for new tags you should guide users into telling you when they've entered one single tag. That could be done by asking "Add tags, one at a time", or enabling/highlighting an "Add tag" button after a space or comma instead of forcing such a character to become a separator.

And after all, I think you can combine separators and don't have to make a hard-cut choice. A comma clearly separates. A dash clearly doesn't. Same for underscores if used. Find these characters which clearly separate or not and implement those for the users experimenting with "what this site will use again". Then only for the space you need to guide the user a bit, as said before.

In general: don't make the users adhere too much to your technical choices. Rather let them use whatever makes sense to them. And guide them in where those things really conflict.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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