Buttons, error states, empty states, tooltips, the small copy that defines a brand. Here's how to make it sound human.
Microcopy is the small text that does the heavy lifting. The label on a button. The sentence that appears when a search returns nothing. The error that explains what just went wrong. Get it right and the product feels considered. Get it wrong and the whole thing feels like it was built by a committee of lawyers.
Most microcopy sounds robotic because it was written defensively, by people who never imagined a human reading it. Here’s how to fix that.
Start with what the button does, not what it is
The fastest microcopy upgrade in any product is rewriting button labels. Most buttons say things like “Submit”, “OK”, or “Continue”, labels that describe the mechanical action rather than the outcome. They tell the user nothing about what’s about to happen.
Replace them with verbs that name the result. “Submit” becomes “Send my booking”. “OK” becomes “Got it” or “Delete forever”. “Continue” becomes “Pay and book” or “Save and add another”.
The test: read the button label out loud without the surrounding interface. If you can’t tell what it does, the label has failed. “Submit” fails. “Pay £180” passes.
One more rule. Match the button to the user’s mental verb, not the developer’s. Users don’t “submit forms”, they “book appointments”, “send messages”, “save changes”. Use their words.
Error messages: name the problem, then the fix
Error states are where robotic copy does the most damage. A user has just hit a wall, and the system responds with “Error 4012: Invalid input.” It’s the interface equivalent of being told off by a stranger who refuses to explain why.
Good error copy does three things in this order:
- Says what happened in plain language. “We couldn’t find that booking.” Not “Resource not found.”
- Says why, if you can. “The reference number might have a typo, or the booking may have been cancelled.”
- Says what to do next. “Try searching by email instead, or contact the studio.”
Avoid blaming the user. “You entered an invalid date” sounds accusatory. “That date isn’t available, try one of these” puts the system on the user’s side.
And drop the apologies-on-loop. “We’re sorry, but unfortunately…”, once is fine, twice is groveling. One genuine acknowledgement beats three corporate ones.
Empty states: the most wasted real estate in software
Empty states are the screens users see when there’s nothing to show, a blank inbox, no bookings yet, a fresh client list. Most products treat them as a void to apologise for. “No items to display.” Crushing.
Treat them as the first thing a new user reads about your product. Empty states are onboarding in disguise.
A good empty state has three layers:
- A one-line headline that names the state warmly. “Your client list is empty, for now.”
- One sentence of context. “Bookings you take will appear here automatically.”
- A clear next action. A button that says “Add your first client” or “Import from spreadsheet”.
If the empty state never goes away, say, a notifications panel that’s quiet most of the time, give it a bit of personality. “All caught up. Nothing new to see.” beats “0 notifications” every time.
Tone calibration: the dial, not the switch
The mistake most writers make is treating tone as a single setting. Friendly, playful, professional, pick one and apply it everywhere. That’s how you end up with cheerful microcopy on a failed payment screen, or a stiff confirmation on a celebratory moment.
Tone is a dial that moves per screen. The rule: the higher the stakes for the user, the more the tone calms down.
Three examples on the same product:
- Booking confirmed. Stakes are positive, lean warm. “You’re booked in. I’ll see you Thursday.”
- Payment failed. Stakes are stressful, lean steady, factual. “Your card was declined. Try another, or contact your bank.”
- Account deleted. Stakes are irreversible, lean neutral, almost formal. “Your account has been removed. I’ve sent a confirmation to your email.”
A delightful “Boom! Account deleted!” feels off because the user might be deleting in anger or grief. Read the room.
The robot test
Before you ship any piece of microcopy, run it through three checks.
Read it aloud. If it sounds like nothing a human would say in conversation, rewrite it. “Please ensure all required fields are completed prior to submission” is not something one person says to another.
Check the contractions. Robotic copy avoids them. “We are unable to process your request” is robot. “We can’t process this right now” is human. Contractions are the cheapest way to sound less stiff.
Cut every word that earns nothing. “Please kindly note that you may now proceed” is six words doing the job of one. The one is “Continue”, or better, what the continue button actually does.
Microcopy is brand, distributed
People think of brand as the logo, the colours, the hero image on the homepage. But the moments that decide whether a product feels human are smaller, the error you saw at midnight, the empty state on your first day, the button that finally booked your tattoo appointment.
Those are the moments microcopy owns. Write them like the product is in the room with the user. Because in every meaningful sense, it is.