An example of a classic language picker (label + dropdown): enter image description here

Is it really necessary to show a label or icon next to the input?

If so, why? and what would be the best choice?
Are labels(like the one in the image above) or icons better? Some icon examples:

enter image description here enter image description here

OR: Is the language input self-explanatory enough for most users to avoid any additional indication? enter image description here

1 Answer 1


The label isn't necessary, and in fact if it's spelled in a language the user is not familiar with they can't even find it. Keep in mind that the primary use case for a language picker is to allow people who can not read the currently displayed language to pick a language they can read. The picker needs to be self-explanatory for someone who can not read the current language. The other thing to consider is that different languages also frequently mean different cultural norms for icons, colors, and even placement to some degree.

I don't think any one icon will be universally understood and still convey the meaning quickly and unambiguously, but they are better than a label that is displayed in a language the user may not be able to read. The two examples you show are okay for learning the meaning of the icon, but not very good for initial discovery. A globe icon is frequently used, but unfortunately facebook has started to redefine its meaning to "Notifications", so it's not ideal either. I sometimes see a speech bubble being used, but of course, there's always ambiguity, this time it could be misconstrued to mean "Chat".

Language flags, while universally understood to be related to some kind of localization, are problematic in that they map to nations, not languages, and you can end up confusing, or worse, offending users.

Ok, so what's the best practice then?

  1. If you only have a few language choices, don't hide them in a drop-down list, but show them all at once.
  2. Show the languages spelled natively. i.e. Español, Français, Deutsch, русский, 中文, العربية. Users recognize their local language very quickly when it's the only familiar word on the page.
  3. If you have more languages than you can fit prominently, duplicate the functionality: use a language selector with an icon in the header, but add language links in the footer of the page.
  4. Try to auto-detect the user's language. There are many ways to do that and none will work for all use cases, so don't use that as the only way to set a language, but it is usually a very reasonable default.

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.