I am developing a website in two languages (English and Italian) and I use a flag icon to switch between them.

What is the common/best practice if I am viewing the Italian page?

  • Show the Italian flag, which changes the language to English
  • Show the English flag, which changes the language to English

I am torn between the two options... Is it better to show the currently active language, or the language displayed after you click on it?


2 Answers 2


The best practice is not to use a flag - flags are for nations, not languages. Many flags look alike or don't match the nationality of the user, which could be confusing.

Use a label of the language that the page is currently in, and provide links to switch to other options in their languages. In the example below, the current language is English (US). There would be a link called "Italiano" to switch to Italian.

Facebook home page with language switching bar at bottom showing links to many languages


The trouble with having a 'state-switch' button is that it can mean two things for the end-user:

  1. the current state
  2. what will happen when you click it

which can be confusing.

Please read this great article by the Nielsen Norman Group: "State-Switch Controls: The Infamous Case of the "Mute" Button" (https://www.nngroup.com/articles/state-switch-buttons) for some ideas on how to solve this.

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