Error messages

How some error messages are perceived by users

It is my experience that badly phrased error messages are one of the most important causes for usability problems. The rule for usable error messages is simple:

Error messages should be constructive, comprehensible, precise, visible and polite.

However, almost all of my seminar participants and students have problems applying this apparently simple rule to create really helpful error messages.


Not constructive: Wrong file name
Constructive: File names must start with a letter

Not constructive: Illegal train selected
Constructive: The train you selected is not available on December 25th on this connection. It is available on December 23rd or December 26th. Please select a different train, date, or connection.


Incomprehensible: Error 0a45
Comprehensible: This file has been deleted since you last accessed it

Incomprehensible: Password: At least 8 characters, including upper and lower case letters, 1 number and one of the following special characters: “!_:@,#;$%”
Comprehensible: Password: At least 16 characters. Make it something that’s easy for you to remember but difficult for others to guess. For example, use four common random words: zebraumbrellaishappy


Imprecise: Something went wrong!
Precise: The pick-up date (16-Dec-2021) must not be later than the return date (13-Dec-2021)

Imprecise: An error occurred
Precise: Passwords must consist of at least 14 characters. The password you entered contains 13 characters but is otherwise acceptable.


Error messages should be clearly discernible.
Error messages are easily overlooked if they are written using a small font or positioned far from where the problem is.

Avoid invisible error messages – that is, error conditions where the interactive system provides no error message and indicates the error condition by not responding to user input because an “obvious” error condition exists.

Example: The user has not ticked the “I accept the standard conditions”-box, so the “Proceed” button is greyed out.


Impolite: ERROR! Illegal date!!
Polite: This system only accepts dates in the format 24-01-2020

Writing usable error messages

  • Write error messages early; include error messages in prototypes
  • Test error messages in usability evaluations, in particular usability tests with representative users. Write usability test tasks that cover common errors
  • Ask a textwriter to write error messages
  • Review error messages
  • Use feedback from usability tests and support to improve error messages

Error 50

A simple way to remedy an error: Remove the cause of the error