All posts
Design craft

Writing microcopy for buttons, errors and empty states

How to write the small bits of text on your site, from button labels to error messages and empty pages, so visitors always know what to do next.

The Katzero team · 14 April 2026 · 5 min read

Microcopy is the small text that helps people use a website: button labels, form hints, error messages, confirmation notes and the words shown when a page has nothing on it yet. Each piece is only a few words long, but together they shape whether a site feels clear and kind or confusing and cold.

The good news is that microcopy is one of the cheapest things to improve. You don't need a designer or developer to rewrite a button. You need a few principles and some patience.

Principles that apply everywhere

Be specific

Vague words make people guess. "Submit" tells someone they're sending something but not what happens next. "Send enquiry" or "Request a quote" tells them exactly.

Use the visitor's words

Write in the language your customers use, not internal jargon. A garden centre might call something a "click and collect order" in its systems, but a customer thinks of it as "picking up my plants". Use their phrasing where it doesn't create confusion.

Keep it short, but not cryptic

Short is good. Too short becomes a riddle. "Continue" is fine on step one of three, but "Continue to payment" is clearer when the next step involves money.

Match the tone to the moment

A cheerful tone works in a welcome message. It feels wrong when someone's payment has failed. Calm and plain is almost always the right register for problems.

Buttons

Buttons are promises. The label should describe what happens when the button is pressed.

Start with a verb

Most good button labels begin with an action: "Book a table", "Download menu", "Start free trial", "Add to basket". The verb tells people what they're doing; the noun tells them to what.

Describe the outcome, not the mechanism

"Click here" describes the mechanism and says nothing about the destination. It also makes no sense to people using a screen reader, who might hear a list of links out of context. "View our spring menu" works for everyone.

Make paired choices clearly different

Dialogs often offer two buttons. "OK" and "Cancel" can be ambiguous, especially when the question is phrased awkwardly. If a dialog asks "Discard your changes?", buttons labelled "Discard changes" and "Keep editing" leave no room for misunderstanding.

Keep labels consistent

If the action is called "Book now" on the homepage, don't call it "Make a reservation" on the services page and "Schedule" in the footer. Consistency reassures people that they're doing the same thing in each place.

A few before and after examples:

  • "Submit" becomes "Send message"
  • "Go" becomes "Search recipes"
  • "Yes" becomes "Cancel my appointment"
  • "Learn more" becomes "See how fittings work"

Error messages

Errors are where microcopy matters most. Someone is trying to do something and it isn't working. Good error copy gets them back on track quickly without making them feel foolish.

Say what went wrong, in plain words

"Invalid input" is unhelpful. "This email address is missing an @ symbol" tells the person exactly what to fix.

Say how to fix it

Pair the problem with the solution. "Password must be at least 10 characters. Yours has 7." is far better than "Password too short".

Don't blame the visitor

Avoid phrasing like "You entered an incorrect date". Prefer something neutral: "That date is in the past. Choose a date from tomorrow onwards." The aim is to fix the problem, not to assign fault.

Put the message next to the problem

An error summary at the top of a long form is useful, but each field with a problem should also show its own message, directly next to it. People shouldn't have to hunt.

Avoid humour in failure

A playful "Oops! Something went sideways!" might seem friendly, but when someone has just lost a long form, it can feel dismissive. Save jokes for low-stakes moments, if you use them at all.

Cover system errors honestly

Sometimes the problem is on your side: a server is down, a payment provider isn't responding. Say so plainly and tell people what to do: "We couldn't send your booking just now. Your details are saved. Please try again in a few minutes, or call us on the number below."

Empty states

An empty state is what someone sees when there's nothing to show: an empty basket, no search results, no saved items, no upcoming events. These moments are often neglected and left with a bare "No results" message.

A good empty state does three things:

  1. Explains why it's empty. "Your basket is empty" or "No classes match those filters".
  2. Suggests a next step. "Browse our bestsellers" or "Try removing the Saturday filter".
  3. Offers a way to take it. A clear button or link.

For example, a tutoring site whose search for "A level chemistry, Thursday evenings" returns nothing could say: "No tutors are free at that time yet. Try a different evening, or join the waiting list and we'll email you when a slot opens." Followed by two buttons: "Change day" and "Join waiting list".

That turns a dead end into a path forward.

First-use empty states

If your site has accounts, the first time someone logs in, many sections will be empty. This is a chance to guide them. "You haven't saved any patterns yet. Tap the heart on any pattern to keep it here." teaches a feature at the exact moment it's relevant.

Supporting text: hints and confirmations

Form hints

Short hints below or above a field prevent errors before they happen. "We'll only use this to send your order updates" next to a phone number field answers the obvious question of why it's needed. "For example, SW1A 1AA" next to a postcode field shows the expected format.

Confirmations

After an action, confirm what happened and what happens next. "Thanks, your enquiry has been sent. We reply within one working day, usually by email." is far more reassuring than a bare "Success".

A simple review process

To improve your site's microcopy this week:

  1. Click through your main journey (enquiry, booking or purchase) and write down every piece of small text you see.
  2. Deliberately make mistakes in each form field and record the error messages.
  3. Search for something nonsensical and note the empty state.
  4. For each item, ask: is it specific, does it say what happens next, and would a customer understand it?
  5. Rewrite the weakest ones first, starting with errors and main buttons.

Microcopy checklist

  • Buttons start with a verb and describe the outcome.
  • Paired buttons are clearly different.
  • The same action uses the same label everywhere.
  • Errors explain what went wrong and how to fix it, without blame.
  • Error messages appear next to the relevant field.
  • Empty states explain, suggest and offer a next step.
  • Confirmations say what happened and what comes next.

None of this is glamorous, but it's where a lot of trust is quietly built or lost.

Try it on your own site.

Describe the website you want and Katzero designs, builds and publishes it. Completely free.

Start designing

More in Design craft