Nielsen’s 10 Heuristics

Ten Rules of Thumb for Spotting What’s Wrong

Jakob Nielsen’s ten usability heuristics are still the most widely used checklist for finding interface problems — each one explained with a modern, practical example.

Origin

Jakob Nielsen is a Danish usability engineer who popularized fast, cheap usability methods at Sun Microsystems before co-founding Nielsen Norman Group with Don Norman in 1998. His ‘discount usability’ movement made testing with five users an industry standard.

The ten heuristics were developed with Rolf Molich in 1990 and refined in 1994 from a factor analysis of 249 usability problems. They remain the most widely used checklist in expert review — durable because they describe human constraints, not technologies.

The Heuristics

Ten broad rules of thumb for interface design — visibility of status, match to the real world, user control, consistency, error prevention, recognition over recall, flexibility, minimalism, good error messages, and help. Not laws: heuristics for finding problems fast.

Coined by
Source
Refined from 249 analyzed usability problems
In practice
Run heuristic reviews before user tests
Feedback 01 / 10

Visibility of System Status

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

Watch for
Silent loading · Hidden saves
Context
Long-running actions · Forms
Implication
Show progress, time, and state
Familiarity 02 / 10

Match Between System and the Real World

Speak the user’s language. Use words, phrases, and concepts familiar to them, not system-oriented terms. Follow real-world conventions.

Watch for
Jargon · System-speak
Context
Labels · Icons · Error copy
Implication
Borrow from the physical world
Reversibility 03 / 10

User Control and Freedom

Users often choose system functions by mistake and need a clearly marked “emergency exit” to leave the unwanted state — support undo and redo.

Watch for
Dead-end flows · No exit
Context
Forms · Editors · Wizards
Implication
Always offer undo and escape
Predictability 04 / 10

Consistency and Standards

Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform and industry conventions.

Watch for
Renamed actions · Drift
Context
Design systems · Multi-page apps
Implication
Codify the pattern, repeat it
Guard rails 05 / 10

Error Prevention

Better than good error messages is a careful design that prevents the problem from occurring in the first place — guard rails over guides.

Watch for
Silent destructive actions
Context
Delete · Send · Submit
Implication
Confirm or constrain risky paths
Memory load 06 / 10

Recognition Rather Than Recall

Minimize memory load by making objects, actions, and options visible. Users should not have to remember information from one part of the interface to another.

Watch for
Blank inputs · Cryptic codes
Context
Forms · Filters · Commands
Implication
Show options; let users pick
Accelerators 07 / 10

Flexibility and Efficiency of Use

Accelerators — unseen by novices — may speed up interaction for experts so the system serves both. Let users tailor frequent actions.

Watch for
Power users stuck with novice flows
Context
Productivity tools · Dashboards
Implication
Layer shortcuts on top of basics
Signal-to-noise 08 / 10

Aesthetic and Minimalist Design

Interfaces should not contain information that is irrelevant or rarely needed. Every extra unit of information competes with the relevant units and diminishes their visibility.

Watch for
Visual clutter · Information bloat
Context
Onboarding · Landing · Empty states
Implication
Cut anything that doesn’t earn its place
Plain language 09 / 10

Help Recognize, Diagnose and Recover

Error messages should be expressed in plain language, precisely indicate the problem, and constructively suggest a solution. Tell the user what’s wrong and how to fix it.

Watch for
“Error 504” · Vague copy
Context
Forms · APIs · System errors
Implication
Explain what, why, and how to fix
Just-in-time 10 / 10

Help and Documentation

Even though it’s better if the system can be used without documentation, it may be necessary to provide help. Any such information should be easy to search and focused on the user’s task.

Watch for
Buried help · Long manuals
Context
Settings · Complex features
Implication
Contextual help; concrete steps

Heuristics in the Age of AI

The ten heuristics still hold — but “system status,” “user control,” and “error prevention” take on new meaning when the system is a probabilistic model.

✦ AI Era

Show the Model Thinking

Visibility of system status now means streaming tokens, a thinking shimmer, and tool-call progress. Ten silent seconds during generation reads as a frozen, broken app.

Heuristic
#1 Visibility of status
Show
Streaming · progress · tools
Watch for
Silent waits
✦ AI Era

Stop & Regenerate

User control and freedom, AI edition: a stop button mid-stream and a regenerate after. The model’s first answer is a draft, never a dead end.

Heuristic
#3 Control & freedom
Offer
Stop · regenerate · edit
Watch for
Unstoppable generation
Further Reading

Interaction Design Foundation