UX Writing Principles
| Item | Description |
Clear > Clever | 'Save' not 'Commit to memory'. Users scan, they don't read. Prioritize clarity over personality. |
Concise | Every word must earn its place. 'Password must be at least 8 characters' not 'Your password needs to contain a minimum of eight characters.' |
Useful | Error messages should tell users HOW to fix the problem, not just that one exists. |
Consistent | Same action = same label everywhere. Don't use 'Sign In' on one page and 'Log In' on another. |
Conversational, Not Robotic | 'That email doesn't look right' not 'Invalid email format. Please re-enter.' |
Common UI Patterns
| Item | Description |
CTA Buttons | Specific action + benefit: 'Start Free Trial' not 'Submit'. 'Download Report' not 'Click Here.' |
Error Messages | What happened + Why + How to fix: 'That password is too short. Use at least 8 characters.' |
Empty States | What should be here + How to get started: 'No projects yet. Create your first project in 2 minutes.' |
Loading States | What's happening + Expected wait: 'Crunching numbers... This usually takes ~5 seconds.' |
Confirmation Messages | What happened + What's next: 'Project created! Add your first task →' |
Placeholder Text | Example, not label: placeholder='[email protected]' — label is 'Email' above the field. |
Voice & Tone
| Item | Description |
Voice = Personality | Consistent across product. Mailchimp: quirky, informal. Stripe: precise, developer-focused. |
Tone = Situation | Adjusts by context. Success = celebratory. Error = empathetic. Billing = serious. |
Brand Voice Chart | Create a chart: We ARE [clear, helpful, human]. We are NOT [jargon-y, robotic, sarcastic]. |
Accessibility | Screen readers. Alt text. Don't rely on color alone ('click the red button'). Use aria-labels. |
Testing Microcopy
| Item | Description |
Cloze Test | Show UI with key word blanked: 'Create [______]' — can user guess? If not, word is unclear. |
Highlighter Test | Give user highlighter. 'Highlight anything confusing.' Everything highlighted = rewrite. |
A/B Test CTAs | 'Get Started' vs 'Start Free Trial' vs 'Try It Free'. Small changes can 2x conversion. |
Read at 2x Speed | If meaning survives at double speed, copy is scannable enough. |
Pro Tip: Good UX writing is invisible. Users don't notice it — they just complete their task without friction. If a user has to read your error message twice, you've failed.