What is microcopy?
Microcopy is all the small snippets of text within an interface. Its primary purpose is to guide users through the interface and help them accomplish their tasks. Some examples include:
- Field labels and helper text
- Text on buttons
- Error messages
- Confirmation or status messages
- Tooltips or contextual help
- Titles and headings
The goal of microcopy is to:
- Set expectations for what will happen next if a user takes a specific action
- Inform users what information they need to enter
- Help people correct errors, so they may continue with their task
- Reduce anxiety and friction
- Orient people and tell them what to do next
What makes microcopy good or bad?
Jakob Nielsen’s 2nd usability heuristic states that the design should speak the users’ language. Microcopy is good when it sets clear expectations and tells the user exactly what will happen, what has happened, or how to correct an issue. Bad microcopy is generic, vague, or misleading. The clearest test is whether a user could predict the result of their next click from the words alone. If they can’t, the microcopy isn’t doing its job. When UX Team conducts usability tests, we always ask questions, like “What would you expect to see if you clicked [X button]?” And their response tells us whether the microcopy is clear.
Why you should audit “AI-generated Microcopy”
Bad microcopy isn’t specific to AI. Humans write bad microcopy all the time. You should audit all microcopy, whether it’s written by a human or AI. One thing to remember about AI-generated code or copy is that it’s trained on the entire public internet. That means it basically takes all of that data, and applies an average to your product. It does a decent job. I would say it’s really raised the bar for minimum viable product. However, that generic application isn’t YOUR application. AI has never met your users, has not interviewed stakeholders, has not conducted any information architecture or nomenclature studies. Therefore, you can’t expect it to write clear microcopy. It also “hallucinates” and sometimes makes things up.
Here are a few specific reasons to audit AI Microcopy:
- Accuracy. AI fills in what it doesn’t know with assumptions. It might assume that you’ll send a confirmation email when, in reality, there is no such email confirmation.
- Task success. Unclear instructions hinder task success. Baymard found 98% of e-commerce sites use generic validation errors, and vague wording left test participants taking up to five minutes on simple sign-in errors. Some gave up.
- Nomenclature. AI bases its copy on training data, which is not specific to your product or your users. What it calls “Register” might really be a misnomer if they are already registered and just need to activate their account. To be fair, humans are guilty of using internal jargon that their users don’t understand, too.
The goal is to write clear instructions, not necessarily to make it look human-written. Use the tells below as a fast way to find strings that need a closer look.
What to look for
Check every string for the patterns below. A single string often has more than one.
| Tell | What it looks like | Why it hurts |
|---|---|---|
| Hollow enthusiasm | “Awesome!”, “You’re all set! 🎉”, “Let’s get started!” | Can feel insincere |
| Vague action verbs | “Submit”, “Continue”, “Proceed”, “Get started” | User can’t predict the outcome of the click |
| Cutesy Errors | “Oops!”, “Uh oh!”, “Whoops, something went wrong” | Can be frustrating, especially when repeated |
| Vague Generic errors | “Invalid”, “Complete the required fields.” | Does not tell the user how to fix the problem |
| Overly verbose explanations | Two sentences of helper text under a field labeled “Email” | Buries the helpful hint in noise |
| Buzzword stacks | “Seamlessly unlock powerful insights”, “Elevate your workflow” | None of this means anything, and it’s everywhere |
| Em-dash and colon habits | “Your data — organized.”, “Pro tip: …” | Dead AI giveaway |
| Inconsistent terms | “Lists” on one screen, “Favorites” on the next | Users think they’re different objects |
| Invented features or states | “We’ll notify you when it’s ready” when no notification exists | Lies that set unfulfillable expectations; sets user up for frustration |
| Title Case Everywhere | “Save Your Changes Now” | Harder to scan; usually off-guideline |
Better alternatives
Most fixes replace a generic phrase with what actually happens. The pairs below show this by component.
| Component | AI default | Better | What changed |
|---|---|---|---|
| Primary button | Submit | Place order | Names the outcome |
| Primary button | Get started | Create your first project | Says what starts |
| Secondary button | Cancel | Keep editing | Clarifies what “cancel” means here |
| Destructive confirm | Are you sure? | Delete 12 files? This can’t be undone. | Says what gets deleted and that it’s permanent |
| Destructive button | Yes / OK | Delete files | Repeats the action, not a generic yes |
| Error (form) | Invalid input. | Enter a date after today. | Tells users how to fix the error |
| Error (system) | Something went wrong. Please try again. | We couldn’t save your changes because the connection dropped. Your draft is saved locally. | States the cause. Lets them know their changes weren’t lost (reduces anxiety) |
| Empty state | Nothing here yet! Let’s change that 🚀 | No orders yet. Orders you place will appear here. [Browse catalog] | Explains the screen and gives one path forward |
| Success toast | Awesome! You’re all set! | Invoice sent to dana@acme.com | Confirms exactly what happened |
| Loading | Hang tight, magic is happening… | Importing 340 contacts… | Shows progress in real terms |
| Helper text | Please enter your email address so we can keep you updated | We’ll send the receipt here | Fewest possible words |
| Tooltip | This powerful feature helps you seamlessly manage your data | Hides rows that match this filter | Removes marketing fluff and describes the behaviors |
| Field label | Area | Area (sq ft) | Label can have multiple meanings. Add expected format to help clarify |
| Onboarding | Welcome aboard! We’re thrilled to have you! | Add your team so they can see shared projects. | Moves the user to their first useful task |
For errors and confirmations, a dependable structure is what happened, why it happened if that helps, and what to do next. Anything that doesn’t serve one of those can usually go.
Quick checklist
Run each string through these before it ships.
- Does the user know what will happen before they click?
- Does every button use a verb + object (no Submit, OK, Continue)?
- Does every error say what happened, if data is safe, and what to do next?
- Are filler openers, emoji, exclamation points, and buzzwords gone?
- Does each term match the nomenclature everywhere it appears?
- Is every promise true in the current build?
- Can you say it in fewer words without losing clarity?
- Does a screen reader read it correctly?
- Have you tested it on every screen, including edge states?
Want to get it (closer to) right the first time?
You might have heard of design.md or even be using one in your application right now. Design and development teams use design.md when creating ai-generated user interfaces to instruct the agent with colors, typography, components, etc. But, did you know microcopy rules belong in there, too? Here are 10 microcopy rules to get you started:
- Never describe a feature, notification, timeframe or system behavior that isn’t in the spec. If you don’t know what happens, write [TODO: confirm behavior] instead of guessing.
- Be concise – use the shortest version that’s still clear.
- Button labels should be [action + noun]. Describe what is happening and what it applies to. Good Examples: “Place order”, “Save as Draft”, “Discard Changes.” Bad examples: “Submit”, “Yes”, “No.”
- The confirm button in a dialog repeats the action. Example: “Delete files,” not “Yes”.
- Every icon-only button needs an accessible label.
- Errors should state what happened, whether the users’ data is safe and how to fix the error (if possible)
- Name the specific problem: “Enter a data after today,” not “Invalid Input”
- No humor, emojis, “Oops” or “uh oh” in error messages
- For destructive actions, state what will be deleted, how many items, and whether it can be undone. “Delete 12 files? This action cannot be undone.”
- Form labels are nouns, not instructions or questions. “Company name,” not “Enter your company name, ” and not “What is your company name”
Of course, there are many other rules you could add. Still, these 10 will go a long way toward better microcopy from the get-go.
