Microcopy and UI Writing
Parent: Writing and Documentation · Published reference · snapshot 2026-09-08 · skill technical-writing-craft/references/microcopy-and-ui-writing.md
↓ Facts as markdownall context files
Microcopy is every word in a product that is not body content: the buttons, the field labels, the placeholder hints, the validation messages, the empty states, the toasts, the modal titles, the 404 pa
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Microcopy and UI Writing
- Microcopy is every word in a product that is not body content: the buttons, the field labels, the placeholder hints, the validation messages, the empty states, the toasts, the modal titles, the 404 pages. Collectively, microcopy is the voice of the product. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#microcopy-and-ui-writing]
1. The "verb the noun" rule for buttons
- Buttons should describe the action they perform. The canonical shape is verb + noun. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#1-the-verb-the-noun-rule-for-buttons]
- Echo the action's verb in destructive confirmations. If the dialog asks "Delete this project?", the destructive button says "Delete project," not "Yes" or "Confirm." [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#1-the-verb-the-noun-rule-for-buttons]
2. The "what you can do here" rule for empty states
- Name the absence (one short line). [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#2-the-what-you-can-do-here-rule-for-empty-states]
- Tell the user what this surface is for. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#2-the-what-you-can-do-here-rule-for-empty-states]
- Give them the next action (with a button when possible). [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#2-the-what-you-can-do-here-rule-for-empty-states]
3. The "be specific" rule for error and validation messages
- Nielsen Norman Group's canonical four-part guideline: [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#3-the-be-specific-rule-for-error-and-validation-messages]
- State what went wrong in plain language. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#3-the-be-specific-rule-for-error-and-validation-messages]
- Explain why, if useful. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#3-the-be-specific-rule-for-error-and-validation-messages]
- Tell the user how to fix it. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#3-the-be-specific-rule-for-error-and-validation-messages]
- Don't blame the user. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#3-the-be-specific-rule-for-error-and-validation-messages]
- Never use exclamation points in failure messages. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#3-the-be-specific-rule-for-error-and-validation-messages]
4. The match-the-verb rule for destructive confirmations
- Avoid: "Are you sure?" as a title. "OK" / "Cancel" as button pair. "Yes" / "No" as button pair. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#4-the-match-the-verb-rule-for-destructive-confirmations]
5. Tooltips, helper text, placeholders — distinct uses
- Anti-pattern: Placeholder as label. When the user starts typing, the label vanishes. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#5-tooltips-helper-text-placeholders-distinct-uses]
6. Toasts, banners, modals — match severity to surface
- Toast copy is the shortest writing in the product. Single word or short verb-noun phrase. Past-tense for completed actions: "Saved" not "Your changes were saved successfully." [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#6-toasts-banners-modals-match-severity-to-surface]
7. Consent, opt-in, opt-out — symmetry of choice
- The path to the more privacy-protective choice must not be harder than the path to the less privacy-protective choice. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#7-consent-opt-in-opt-out-symmetry-of-choice]
8. Voice and tone
- NN/g's four dimensions to calibrate tone: [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#8-voice-and-tone]
- Funny vs Serious - billing errors are serious; an empty state for a hobby app can be playful. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#8-voice-and-tone]
- Formal vs Casual - enterprise tools lean formal, consumer apps lean casual. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#8-voice-and-tone]
- When to drop humor entirely: anything involving money, security, or privacy; anything destructive or irreversible; anything during an outage or sign-in failure. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#8-voice-and-tone]
Anti-Patterns
- "Submit" - almost never the right word. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
- Placeholder-as-label - field with no visible, persistent label. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
- Apologetic empty states - "Oh no, you have no projects yet!" [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
- "Are you sure?" as the only confirmation question - vague. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
- Yes/No buttons on confirmation dialogs - forces the user to re-read the title. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
- Exclamation points in error messages. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
- Pre-checked marketing opt-ins. [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#anti-patterns]
References
- Mailchimp Content Style Guide - Voice and Tone [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#references]
- Shopify Polaris - Error Messages [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#references]
- Apple Human Interface Guidelines - Writing [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#references]
- Nielsen Norman Group - Error-Message Guidelines [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#references]
- Kinneret Yifrah - Microcopy: The Complete Guide (2nd ed.) [archived source: https://llms-explorer.com/sources/mdb-context-hub/microcopy-and-ui-writing/#references]
Where this helps
- Writing button labels, empty states, and validation messages for a product UI, where generic text like "Submit," "No items," or "Are you sure?" fails to tell the user what will actually happen. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Writing a destructive-action confirmation — delete, cancel subscription, remove member — where the confirm button needs to echo the actual verb rather than a generic "Yes" or "OK." [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Calibrating tone for a feature that touches money, security, privacy, or an outage, situations where humor should be dropped entirely regardless of the product's normal voice. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Designing consent or opt-in/opt-out copy where the more privacy-protective choice must not be harder to reach than the less protective one. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
How to apply this
- Apply the "verb the noun" rule to every button label, and echo that same verb in any destructive confirmation dialog tied to it. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Write empty states with the three-part structure: name the absence, say what the surface is for, and give the next action as a button. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Follow Nielsen Norman Group's four-part error-message guideline — state what went wrong in plain language, explain why if useful, and tell the user how to fix it. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Use a persistent, visible label for every form field instead of relying on placeholder text, since placeholder-as-label disappears the moment the user starts typing. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Common mistakes
- Defaulting to "Submit" as a button label — almost never the right word, since it names the interaction, not the outcome. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Using placeholder text as the only label on a form field, so the field's identity vanishes the instant the user starts typing. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Writing an apologetic empty state ("Oh no, you have no projects yet!") instead of a neutral one that states the absence and gives the next action. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Asking "Are you sure?" as the only confirmation question, paired with vague "Yes"/"No" or "OK"/"Cancel" buttons that don't restate the actual action being confirmed. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Limitations
- Toast copy has almost no room to work with — the guidance is single-word or short verb-noun phrases in past tense ("Saved," not "Your changes were saved successfully") — which makes it easy to accidentally write something too long for the surface. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Tone calibration — funny vs. serious, formal vs. casual — is context-dependent within a single product, not a single fixed brand voice; the same app can be playful in an empty state and must be serious in a billing error. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Symmetry-of-choice requirements for consent UI, where the privacy-protective path can't be harder than the less protective one, are easy to violate unintentionally through ordinary visual-hierarchy choices, like making "Accept all" more prominent than "Reject all." [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Voice and tone guidance from a single style guide doesn't automatically transfer across product categories — an enterprise tool and a consumer hobby app calibrate the same dimensions differently. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Children
- Verb-the-Noun Button Rule (frontier)
- Empty State Copy (frontier)
- Error and Validation Messages (frontier)
- Confirmation Dialogs (frontier)
- Toast and Modal Patterns (frontier)
- Sentence vs Title Case (frontier)
- Onboarding and Password-Reset Flows (frontier)
- Dark Pattern Avoidance (frontier)
- Mailchimp/Polaris/HIG/Material/GOV.UK Conventions (frontier)
Frontier under this node: Confirmation Dialogs, Dark Pattern Avoidance, Empty State Copy, Error and Validation Messages, Mailchimp/Polaris/HIG/Material/GOV.UK Conventions, Onboarding and Password-Reset Flows, Sentence vs Title Case, Toast and Modal Patterns, Verb-the-Noun Button Rule