✍️
✍️Technical Writing

Error Messages That Don't Suck: Writing Clear Feedback for Users

Most error messages confuse users. Learn the psychology and craft of writing error messages that actually help people fix problems.

By Taresh Sharan · PhD, IIT BHUMarch 8, 202611 min read

Users hate error messages. Not because errors happen. But because the messages don't help.

Error messages are often cryptic, blaming, or irrelevant. When you see error message, your first thought should be 'I can fix this' not 'I'm doing something wrong.'

Why Error Messages Matter

When something goes wrong, users are already frustrated. The error message is your only chance to help or make it worse.

Quality of MessageUser EmotionAction TakenOutcome
Confusing technicalFrustratedTries random thingsGives up
BlamingAnnoyedBlames themselvesLow trust
Unclear what's wrongConfusedSeeks outside helpAbandons app
Clear, helpfulEmpoweredFixes problemSuccess

Clear error messages reduce support tickets by 30-40 percent.

The Anatomy of Good Error Message

ComponentPurposeExample
Problem statementWhat went wrongYour password must contain uppercase
Why it happenedContextWe saw special characters but no numbers
How to fix itClear actionAdd at least one number (0-9)
When to reach outSafety valveIf problem persists, contact support

Problem: Bad Error Message

User tries uploading file. Message appears: Error 405. Method not allowed.

Why it's bad: Technical jargon means nothing to user. No guidance. No next step. User thinks 'What does 405 mean?' then gives up.

Solution: Good Error Message

Your file is too large to upload (maximum 10 MB). Please compress your image or choose a smaller file, then try again.

Why it's good: Explains problem. Shows limit. Suggests solution. User knows exactly what to do.

Error Message Guidelines

1. Be Specific, Not Generic

GenericSpecific
Error: Invalid inputYour email address is missing the @ symbol
Server error occurredWe're temporarily experiencing heavy traffic. Please try again in 2 minutes.
Format not supportedWe accept JPG, PNG, and GIF files. You selected TIFF.
Connection failedYour internet connection dropped. Check WiFi and try again.

The specific message gives actionable information. Generic message gives nothing.

2. Use Plain Language

TechnicalPlain Language
HTTP 401 UnauthorizedYou need to log in to access this
Payload validation failedThe information you sent wasn't complete
Authentication token expiredYour login time ran out, please log in again
Query syntax errorYour search didn't work. Try fewer words.

Avoid acronyms. Avoid technical jargon. Use words regular people understand.

3. Don't Blame the User

BlamingHelpful
Invalid format enteredDate should be MM/DD/YYYY
Wrong credentials providedEmail or password incorrect
Too many failed attemptsYou've tried 4 times. Try again in 15 minutes.
Improper file typeWe accept PDF files. You selected DOC.

Blaming makes users feel stupid. Being helpful builds trust.

4. Provide Solutions

Problem-OnlyProblem Plus Solution
Username already existsThis username is taken. Try adding a number (e.g., John2026) or choose something different.
Payment declinedYour card was declined. Check: card number, expiration date, CVV. Or try a different card.
Download failedDownload failed. Check your internet connection and try again. If it continues, try a different browser.

Always provide next steps. Even if just 'contact support.'

Common Error Message Mistakes

MistakeProblemBetter Approach
Too technicalUsers don't understandTranslate to everyday language
No solution offeredUsers stuckAlways offer next step
Appears too brieflyUsers miss itKeep visible or make dismissible
All capsFeels like yellingNormal capitalization
Red text onlyColor blind users missUse text plus icon
Generic codesMeaninglessDescriptive text always

Error Message Examples by Context

Password Requirements

Bad: Special characters required.

Good: Your password must have at least one special character (!@#$%) and be at least 8 characters long. You entered 7 characters with no special characters.

Form Validation

Bad: Invalid email.

Good: We need a valid email address. Make sure you include the @ symbol and a domain (like gmail.com).

Payment Error

Bad: Card declined.

Good: Your card was declined. This might happen if funds are insufficient, the card is expired, or fraud detection flagged it. Try: checking your balance, confirming the expiration date, or contacting your bank.

Upload Error

Bad: File too large.

Good: Your image is 45 MB but maximum is 10 MB. You can: compress the image (we recommend under 8 MB), choose a different image, or contact us for large file options.

Network Error

Bad: Connection timeout.

Good: We couldn't reach the server. Check your internet connection. If still having problems, we might be doing maintenance. Current status: all systems normal.

Implementation Checklist

  • Audit all error messages in your product
  • Identify unclear or technical messages
  • Rewrite with plain language
  • Add solutions to all messages
  • Test with users unfamiliar with product
  • Use consistent formatting and tone
  • Make error messages visible and readable
  • Avoid accusatory language
  • Include contact support as fallback
  • Test again with real users

The Psychology of Good Error Messages

Good error messages: 1. Take responsibility (system side, not user side) 2. Explain clearly (no jargon) 3. Offer solutions (actionable next steps) 4. Show empathy (understand user frustration) 5. Build trust (prove system is helpful)

Measuring Success

Track these metrics:

MetricGoalCurrent
Support tickets from errorsReduce 30 percentTrack
Time to resolve errorUnder 2 minutesMeasure
User satisfaction80 percent or higherSurvey
Repeat errorsZeroMonitor

After improving error messages, support tickets typically drop 25-40 percent.

Final Thoughts

Error messages are not obstacles. They're opportunities. To help. To build trust. To prove your product cares about users.

The best error message helps users fix problems without leaving your product. Without contacting support. Without frustration.

Write error messages like you're helping a friend. Be clear. Be specific. Be kind. Your users will thank you.

Tags

Technical WritingError MessagesUXUser Experience

About the Author

S

Taresh Sharan

PhD · IIT BHU

Research Scientist · Bangalore, India

PhD in Biomedical Engineering from IIT (BHU) Varanasi. Research Scientist based in Bangalore. Author of 120+ articles across finance, photography, technical writing, and corporate ethics. Creator of the BudgetCycle Android app and a set of free financial calculators — both free, because knowledge should not have a paywall.

Technical WritingPhotographyPersonal FinanceCorporate Ethics
Full profile
Error Messages That Don't Suck: Writing Clear Feedback for Users | Sharan Initiatives | Sharan Initiatives