Brand, Web & Presence

How do I write microcopy for buttons, empty states, and error messages so the product feels friendly instead of robotic?

A starting point

Microcopy is where personality actually lives, so replace "Submit" and "An error occurred" with words that tell the user what just happened and what to do next. Be specific and reassuring at the exact moment of friction: an empty state should invite the first action, an error should own the problem and offer a way out. Small words in high-stakes moments do more for trust than any hero headline.

Go deeper

Hand-picked from around the web, each with a note on why it earns your time.

3 resources 2 link-checked Read Use

Read

📖 Book
✓ Link checked Paid Intermediate

Why we picked it This is the book most working UX writers point to when they need a system, not just tips, for the exact text on buttons, errors, labels, and confirmations. Chapter 4 walks through UX text patterns for each of these components, so it directly answers how to phrase a button so people know what will happen and how to turn a vague error into a next step. The 2nd edition is current (2025) and covers writing copy in a world of AI-generated UI text.

Strategic Writing for UX (2nd Edition)

From O'Reilly Media by Torrey Podmajersky

  • Treat every button and error as a pattern with a job to do, then write to that job (buttons name the action, errors name the fix), rather than reaching for generic words like Submit or OK.
  • Keep button labels tight (Podmajersky's guidance is roughly three words max) and use an action verb so the label reads as what happens next.
  • Anchor your voice and word choices to product principles so copy stays consistent across every screen, not written fresh and randomly each time.
Open oreilly.com
📄 Article
✓ Link checked Free Beginner

Why we picked it If you are a founder or designer writing your own product copy without a UX writer on the team, this is the most practical single article we found, and it is written for exactly that reader. It walks through 15+ tips with real app screenshots covering buttons, empty states, and error messages, and ends with a copy checklist you can run against your own screens. It is honest about the traps too, like why leaning on "Oops" for every error stops feeling friendly and starts feeling lazy.

How To Improve Your Microcopy: UX Writing Tips For Non-UX Writers

From Smashing Magazine by Irina Silyanova About a 20 minute read

  • Write buttons the way a user would say the action out loud ("I'll reserve" reads more human than a stiff generic "Submit").
  • An empty state should hand the user their next move, not just announce that nothing is here yet.
  • A good error names what happened, why if you know it, and what to do next, instead of hiding behind a cute one-liner.
Open smashingmagazine.com

Use

🛠️ Tool
Free Beginner

Why we picked it When you are staring at a blank button or a lonely empty state, the fastest unblock is seeing how good products actually phrased it, and this is a curated gallery of exactly that from Bear, Uber, InVision, Buffer, Tumblr, 1Password, and more. Each example comes with a one line note on why it works (encouraging, speaks the user's language, sets expectations, saves a click), so you are reading the reasoning, not just copying the words. Treat it as a swipe file to browse before you write, not a rulebook.

Good Microcopy

From goodmicrocopy.com by Sam Hulick Browsable gallery, dozens of entries

  • Real shipping examples beat abstract advice: seeing 1Password's contextual password warning or Bear's inviting placeholder shows the pattern faster than any rule.
  • The through line across the best examples is that friendly copy still does a job, it encourages, sets expectations, or saves the user a click.
  • Skim it for the moment you are stuck on (empty state, error, confirmation) and borrow the intent behind the copy rather than the exact wording.
Open goodmicrocopy.com

People also ask