What's the most user-friendly way to provide tagging functionality to a website?

I like SE's tagging system:

  • You can use type it in but there's also autocomplete
  • It shows each tag separately
  • It's fairly intuitive

The problems:

  • Hard to add a way to tag multiple items
  • Doesn't show existing tags, you have to type something for them to show

Gmail style tags (labels) fixes those problems, but I find them rather cumbersome to use.

Does anyone know a better way to handle tags?

2 Answers 2


It really depends on how rich and specific the tag architecture is. If there's less than ten tags you might consider just showing all of them as toggle buttons. If there's 100 an autocomplete entry is more sensible. If at all possible autosuggesting tags can be helpful, as Youtube provides. Then the problem is coming up with sensible suggestions.

In a text-based environment (say it's a blogging application) you can extrapolate that certain keywords that map to existing tags might be something the user wants to tag; a blog post titled "Obama promotes spending bill" would likely be tagged "politics" "USA" and or "Barack Obama" if such tags existed in your application.

Youtube doesn't have it so easy, as analyzing video for content is computationally complex and inaccurate. Instead youtube selects suggested tags based on what tags you have already applied; if you've tagged a video as "Cat" it might suggest "Pets" "Kitten" "Animals" and other tags often used in unison.

Tagging multiple items is a separate issue and usually requires a separate interface similar to Gmail's label system whereby you can select a number of items and tag them all at once. This makes sense in Gmail's situation, as you might have hundreds of emails in a day and a relatively small volume of tags, or more commonly categories.

This is different from an application like SE and Youtube as users are expected to tag as they post, not ex post facto as in an email application, and in addition the amount of content to tag is relatively small (one to a handful of questions/videos a day usually). Compared to that, manually tagging individual emails to high levels of semantic meaning could take longer than reading the email.


From my viewpoint, the ultimate way to handle tagging is to use an auto-complete system (just like SE) in conjunction with some synonym smarts. This means that when I start typing out the tag, "navigation", I can see auto-complete suggestions for, "menus", "dropdown" and "tabs".

The perfect case study of this would be in an intranet application, whereby someone would monitor tag inputs and match synonymous tags, in reality however, no one wants to dedicate a resource to monitor user input as there's no obvious business requirement.

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.