When and how to use flags in navigation design

A while ago, there seemed to be a universal agreement that we (the royal we, UX designers) would not use flags as navigation markers or tools.

Unfortunately, I’ve seen several instances recently where this appears to have gone out the window. So I thought I would dive into when to use them, how to use them and when to absolutely not to use them.

What is a flag?

A flag, you know that thing that gets waved on a flag pole. It’s an identifier of what your nationality is.

I’m British, so my flag is the union jack 🇬🇧 if I were Ukrainian then I would wave this flag 🇺🇦. Although right now I might just wave it in solidarity.

It’s a way for us to be able to identify country of origin.

Why is it used in design?

There are two ways that flags are often used in design, one is good, the other is bad.


Please pick your country

🇬🇧 United Kingdom

🇺🇦 Ukraine


Please pick your language

🇺🇸 English

🇨🇦 French

The problem with this approach

Using a flag to identify country of origin is the correct and proper use of the flag. It’s also useful because an emoji is written in unicode, this means a screen reader will read the code and know that it is a flag of origin.

If you use an emoji flag to represent a language however, you’ll find it confuses people who can see it. You’ll have to either implement a code change to make it accessible, or ignore accessibility (that you’ll want to avoid, right? 😉)

Confusing AF

It was determined by many different usability tests, a fair while ago, that using a flag to denote language is misleading.

🇺🇸 English

The problem with this is that the emoji says one thing, the label says something different.

If you’re skimming down a list that uses icons which are easily identifiable you would be looking for your own language flag.

In this case, I’d be looking for this 🇬🇧 English.

The problem with this is that when a mismatched flag to language label is used, it’s often used with the title of “language” rather than “dialect”.

If it looked like this 🇺🇸 American, then it would be better (but you still have the unicode / accessibility problem).

The most appropriate approach is to not use a flag at all.

Let’s recap

Using a flag should only be used to represent country selection. It should never be used to represent language selection.

More like this


Benchmarking is a bit like putting a stake in the