UX Writing
Write effective UX copy - buttons, error messages, empty states, tooltips, and onboarding text that reduces friction and helps users succeed.
skill: UX Writing category: Design tags: [UX Writing, Microcopy, Content Design, Accessibility, Voice and Tone] readingTime: 4
Every word in a UI is UX. "Submit" and "Save changes" look similar but communicate differently - one feels transactional, the other feels safe. Good UX writing is invisible: users accomplish their task without noticing the copy. Bad UX writing is visible: users stop to wonder what a button does or feel anxious about an irreversible action.
Workflow
- Write action-oriented button labelsButtons are the most-read copy in any UI. Vague labels ("OK", "Submit", "Click here") create doubt at the critical moment of action.
- Write helpful error messagesError messages are the last line of defense before a user abandons a task. A good error message explains what went wrong, why, and exactly how to fix it.
- Design empty states with purposeEmpty states (no data yet, no results, first time) are missed UX opportunities. A blank screen is confusing; a purposeful empty state explains what belongs there and how to fill it.
- Define voice and tone guidelinesVoice is consistent (your personality); tone shifts with context (celebrations are warm, errors are calm and serious). Without guidelines, different writers create an inconsistent, jarring experience.
- Use inclusive languageLanguage shapes who feels welcome in a product. Non-inclusive defaults (gendered terms, ableist phrases, ethnocentric assumptions) exclude users and reduce trust.
Output Format
UX writing: [Verb]+[Object] button labels, [What]+[Why]+[How to fix] error messages, 4-type empty state model, voice adjectives + context tone matrix, and inclusive term replacements.
Button: "Save changes" not "Submit"
Error: "Email must include an @ - try name@example.com"
Empty state: illustration + headline + body + single CTA
Voice: [Clear, Warm, Direct] - tone shifts by context (errors=calm, success=warm)
Inclusive: Blocklist/Allowlist, they/them, folks/everyoneExamples
Edge Cases & Gotchas
- Localization and length - German and Finnish strings are 30-50% longer than English. Design text containers with expansion headroom. Avoid fixed-width boxes that clip translated text.
- Legal requirements - Some copy (GDPR consent, Terms of Service, refund policy) has legal constraints. Work with legal to make required text as clear as possible while meeting requirements.
- Notifications vs. confirmations - Don't use a confirmation dialog for informational messages - users learn to dismiss without reading. Use dialogs only when asking for explicit user decision, not for notifications.
- Character limits in button labels - Mobile CTAs truncate at ~20 characters on 320px screens. Test button labels at small sizes; prefer shorter labels over truncation. "Add card" over "Add payment method".
When to Break These Rules
- For crisis/emergency UIs (safety alerts, medical instructions), favor formal precision over warmth - clarity of instruction is more important than personality.
- For legal disclaimers, use legally required language even if it conflicts with voice guidelines - annotate as an exception in the content style guide.
Reference Files
https://www.nngroup.com/articles/error-message-guidelines/https://www.microsoft.com/en-us/style-guide/