Nielsen’s 10 heuristic principles explained with examples


The 10 heuristics defined by Jakob Nielsen and Rolf Molich are good practices that can be applied to interface design to evaluate its usability.
These are principles based on the observation of real users and the problems they face when using any type of interface.

They are generic guidelines, which have been used for many years (the first version is from 1989 and the latest update from 2005), but even so they continue to be a valid instrument today to detect usability problems.

If you are interested in finding out more about how to use heuristic principles to evaluate the usability of a digital product, you can read our article “What is a heuristic analysis and how to use it to analyze your digital product“​

1. Visibility of system status

The system should provide information about its status to the users, so that they an have control over what is happening on the screen and, for example, not interpret as an error those moments of pause where the system is processing the information.

Example: When we download an application in the App store or in the Play store, the store interface clearly indicates to us through a progress bar that the app is being downloaded and how long it remains to have it available.

2. Match between system and the real world

The system has to speak the language of the users with concepts familiar to them and following the conventions of the real world. The information should be presented in a logical way to the user.

Example: The iOS compass app is designed to look like a real compass. This way the user can apply what they already know from their real-world experience about how the object works and they don’t have to learn something new before using it.

3. User control and freedom

Users can make mistakes and that is why no action that the users can carry out on an interface should be irreversible, especially those that can have negative consequences for them.
For this reason, it is not only good practice to ask for confirmation before performing actions that may have a certain impact, but also to allow the user to undo or cancel them.

Example: being able to recover an email deleted by mistake is an example of an action that allows the user to have control over what is happening

4. Consistency and standards

The system has to follow consistent rules and conventions so that the user can anticipate how to interact without having to wonder how to do it or learn new actions.

Users are also users of many other digital products. Our product should meet all those established standards to which them are already accustomed.

Example: The magnifying glass and menu icon, for example, are (almost) universally recognized and it would not make sense to use others that users would not understand.

Within the same interface it is also important to be consistent and treat identical elements in the same way to make it easier to understand and recognize them.

For example, use the same format for the main actions of the interface or call the same element in the same way every time you show it.

5. Error prevention

The system should not encourage user error. On the contrary, it must try to prevent them in every possible way.

5.prevención de errores

Example: Ryanair’s destination selection screen does not allow users to select a country that cannot be flown to from the selected origin.

6. Minimize memory load (Recognition rather than recall)

The system should help users recognize interface elements without the need to analyze them in detail each time, spending more energy and time.

Example:Spotify’s album listing also shows the thumbnail of the cover so that it is easier to recognize the albums and you do not have to read the titles every time you want to listen to something.

7. Flexibility and efficiency of use

This best practice indicates that the system should provide the user with different ways to get to the content, accelerators and custom actions.

In addition, the system should accommodate the way both expert and novice users work, without penalizing either of the two.

Example: Amazon’s many filters are a good example of this heuristic. Users can find the product they want in many different ways depending on their needs, their priorities and the way they use to browse.

8. Aesthetic and minimalist design

Information that is not very relevant or rarely used should not be included in the interface, but only the elements necessary for the action to be carried out. This allows for easier interfaces to use and allows the user to focus on what is important.

Example: In the Google Maps version of the image above we can see how the different options of the app are either hidden in the menus or in less visible areas of the interface. The vast majority of the space is taken up by the map, which is the element that really matters. More recent versions have been adding more elements, making the interface a bit more complex, probably due to the fact that the way users use Maps has evolved over time.

9. Help users recognize, diagnose, and recover from errors

Although we do everything to apply the fourth heuristic and prevent users from making mistakes, they can always happen.
If this happens, it is important that the system helps the user to understand what has occurred and to solve the problem with the minimum possible effort.


Error messages must clearly indicate the errors, their causes and how to fix them. Specific messages like “Insert a password of at least 8 characters” are always better than generic messages like “invalid password”

In the image on the right, the system not only indicates that location services are disabled, but also shows a shortcut to activate them.

10. Help and documentation

The interface should always provide help and documentation for the user. It has to be easy to find, focused on tasks and steps they need to carry out, and not too long.

Example: The AirBnB app makes different help and contact options available to users.


More from our blog