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.

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.

Uploading files
3 of 4 complete72%
Processing report.pdf…
Saved 2 seconds ago
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.

Your library
Folders
Inbox
Trash
Starred
"Trash," not "Removed entities"
Watch for
Jargon · System-speak
Context
Labels · Icons · Error copy
Implication
Borrow from the physical world
Reversibility 03 / 10

User Control & Freedom

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

Projects Q2 Plan Edit
Undo Redo Cancel
Save Discard
⌘Z to undo last change
Watch for
Dead-end flows · No exit
Context
Forms · Editors · Wizards
Implication
Always offer undo and escape
Predictability 04 / 10

Consistency & Standards

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

Primary actions
Create
Update
Delete
Same pattern, different page
Invite
Edit
Remove
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.

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

Flexibility & Efficiency of Use

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

Keyboard shortcuts
Search anything K
New document N
Open command palette P
Toggle sidebar B
Save S
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 & 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.

Welcome
Get started in seconds.
Create your first project — no setup, no configuration.
Begin →
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 & 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.

Billing email
finance@acme
Email is missing a domain
"finance@acme" looks incomplete. Try adding the rest of the domain, like finance@acme.com.
Tap to fix →
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 & 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.

Contextual help
Two-factor authentication ?
Two-factor authentication adds a second step to your login — typically a code sent to your phone. Set it up →
Searchable docs
how do I cancel my plan
3 results · 0.04s
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