Microcopy

The four words on a button matter more than the four hundred on the page

Specific action labels

Replace Submit, OK, Continue, Done, and Yes with what the click does.

GenericSpecific
SubmitSend invitation
OKSave changes
ContinueAdd to cart
DonePublish
ConfirmDelete project
YesMove to trash

The pattern is verb + object: Save invoice, Send message, Delete file.

Don't surface internals. Send notification, not Trigger webhook.

Actionable error messages

An error has three jobs: what happened, why, and what to do next.

BadBetter
Network error.Couldn't reach the server. Check your connection and try again.
Validation failed.Your password needs at least one number.
Permission denied.You're not an admin. Ask the team owner to grant access.
Invalid email.That doesn't look right. Did you mean jane@example.com?

When you don't know what happened, still give a recovery path: Something broke on our end. Try again in a few minutes.

Don't blame the user. That email doesn't match our records, not You entered an invalid email.

Active voice

PassiveActive
The CLI will be installed.Install the CLI.
Your changes have been saved.Saved.
An email was sent.We sent an email.
Files can be uploaded by dragging.Drop files to upload.

Use numerals: 3 unread messages, not three unread messages.

Drop Please. Save changes is direct. Please save your changes is condescending.

Loading ellipsis

Follow-up steps (dialog, more data, more input) get an ellipsis: Rename…, Move to…, Save as….

In-progress states: Loading…, Saving…, Searching…. Immediate actions: Save, Delete, Bookmark. No ellipsis.

Use (U+2026), not three periods.

Common mistakes