Are flags a bad idea?

In various comments on How to design a multi-language website?, several designers voiced their concern for the use of flags as a symbol to represent language switching on a website. Here are some great points of criticism by @Phil:

  1. Harder/slower to process than text.
  2. Harder to highlight the current selection.
  3. How do users know that it's a language and not a country switch? (flags are used for that as well).

Despite these arguments and warnings by the W3C, using flags as icons to denote internationalisation remains a common practice. Phil picked up on this one too:

And I also think it's just not very elegant. Take Switzerland for example: It's common to have websites in 4 languages, so you'd have a UK, a French, a Italian and a German flag. On a Swiss website. It just doesn't make much sense.

Some websites solve this problem by having flags expand into a dropdown menu with languages written out in text. So then the flag is used to denote a country, and grouped by country are languages. This works okay, but clearly it's not ideal.

The case for flags

Flags are symbolic, unique, and easily identified due to being made up of bright colours. They remain easily identifiable when displayed at very small sizes, a requirement for icons and symbols when used in user interfaces.

It's not surprising websites continue to use them as users likely respond well to them in most situations. But in cases like Switzerland, with multiple languages, obviously other solutions must be created.

Beyond flags

Are we over-thinking things as designers when we try to optimise our design for every situation? What can we learn from user behaviour and how can we change it?

Ideally, what pattern can we design or introduce that makes internationalisation options clear without resorting to using flags?

  • 1
    I saw that one coming :D
    – Phil
    Jun 7, 2011 at 15:35
  • "But in cases like Switzerland, with multiple languages, obviously other solutions must be created." This keeps getting said, but no one has given the reason. Why must another solution be created? (I've seen the opinions: "There would be four flags", "It's not ideal" etc; I don't care about the opinions, I'm curious about the reasons.) Thanks,
    – gef05
    Jun 7, 2011 at 17:04
  • Your question has a lot in common with mine here: ux.stackexchange.com/q/2472/1874 many answers can help.
    – Mart
    Jun 7, 2011 at 17:07
  • 2
    @Gary: Why don't you turn the question around? Flags represent countries, not languages. Why should flags be used? Also: There are three arguments against flags in Rahul's post (my quote). The main reason why it shouldn't be used in Switzerland is because you want to make it clear that it's a language switch and not a country switch. There are many companies that operate europe wide and have different services/products in different countries (other laws, other currencies/prices etc.). I know that this is uncommon in the US, but it's very common in europe.
    – Phil
    Jun 7, 2011 at 17:56
  • 1
    "Flags represent countries, not languages." Maybe. I frequent sites in three languages and I know what they mean when they show me an English, Spanish, or Italian flag. And when a site does switch country on me - if I click the Italian flag and I'm suddenly seeing content appropriate for Italy - I expect to see Italian in use, not English. I don't disagree with what you say (I voted for your answer), but I'm not convinced flags are a poor option.
    – gef05
    Jun 7, 2011 at 18:10

1 Answer 1


My thoughts:

In Switzerland, where multi-language websites are very common, the normal thing is to use the two letter language codes (DE, FR, EN, IT etc.) or - if there is enough space - use the full name (i.e. Deutsch, Français, English etc.).

But I think key for a good experience is how the language detection is handled. IMO it should work like this:

  1. Detect browser language
  2. If it matches with one of the available languages, use it
  3. If it doesn't match, go to the fallback language
  4. If the user changes the language, set a cookie so it's remembered

If you do it like this, most people will never even have to use the language switch. But unfortunately #4 is usually forgotten and I have to switch language every time I use a page. Very annoying.

And one more thing: Don't chose language based on IP range. Many pages still do that but it just doesn't make any sense. I don't want to see a site in Thai just because I'm travelling.

  • I concur that what Phil outlines is the best approach, and I would only clarify that (as per Phil's examples) the full language names should be stated in their own native language (i.e. "Français" not "French") with all their characters appearing legibly (i.e. the document should be written in Unicode and the text rendered in a Unicode-compatible font). A good example of this in practice is at the top right of nhs.uk/carersdirect/Pages/CarersDirectHome.aspx - which I designed/specified while working there. Jun 8, 2011 at 8:55
  • This type of 'switch' is most probably best handled by client settings in that they have already set their language so we should use that. Of course you need a fall back to a default if this fails with the ability to allow the user to select their preferred language. At this stage it's probably not valid to offer a permanent list of languages in the UI but offer language selection via a modal or overlay similar to how MSN asks you your location to deliver local news content. Sometimes I fear that in UX we try to solve thing that are solved more elegantly by employing whats available to us. Jun 8, 2011 at 9:04
  • How do you implement the "User changes the language" part if user's native language is Arabic and the user interface is currently in Chinese? Assume that the user is not aware that the currently displayed language is Chinese and he surely does not know that its language code is "ch". See also: ux.stackexchange.com/questions/93221/… Apr 25, 2016 at 9:36
  • "Don't chose language based on IP range." As a french speaking Swiss, I can only agree. Most websites just show me their German version first. Youtube is an even worse offender, as it keeps showing me unskippable video adds in Swiss German (which sady, I understand even less than regular German), even though my OS language is set English, and my keyboad layout is set to French-Switzerland. Feb 7, 2018 at 14:54

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.