Skip to content

Tone of voice

How the system sounds when it speaks for itself — what a button promises, what a failure says, what a confirmation admits — and the line between our words and the user’s.

  • “Could not save — try again”
  • “Could not copy — select the text by hand”

The next step is one thing, and it is the thing that would have worked — never “please try again later”.

  • “Someone changed the deck first — reloaded the latest version”

The subject is the deck, the file or the server — what happened to the thing, never what the person did wrong.

  • Add slides
  • Make a copy public
  • Log out

A label with a verb names the action; one without (“Layout”, “Metrics”) names a place to go. A label promises what pressing it does — see Writing rules · Labels.

  • “190+ countries · 500+ clients · 1000+ media integrations”

A number, then a noun. Adjectives with no number under them — “extensive”, “meticulous”, “tangible” — are not the voice.

02 · Two voices — the product states, the site claims

Section titled “02 · Two voices — the product states, the site claims”

The same company speaks twice. Inside a product it reports — present tense, no adjectives, one sentence, the full stop only when it is a sentence. On the site it claims — short declaratives in threes, a number under every claim, a verb on every call to action. The two never mix: a toast never sells, a headline never apologises.

  • “Layout reset to default”
  • “Template duplicated — the copy is yours to edit”
  • “Describe your presentation, add a .pptx draft, or pick a template.”
  • “Write a line first”

Reports what is true now. “Write a line first” is the whole message — no “please”, no “oops”, no “!”. A sentence ends in a full stop; a state does not.

  • “Smarter Advertising. Measurable Growth.”
  • “Predict. Recommend. Perform.”
  • “Stop analyzing. Start acting.”
  • “Connect with our team”
  • “Get in touch · See our work · Explore MAFO Demand”
  • “4B+ users · 190+ countries · 2.6M+ apps · 10K+ properties”

Claims in threes, then the proof in numbers. The CTA is a verb.

03 · Failure — “Could not ‹do your thing› — ‹the one thing to try›”

Section titled “03 · Failure — “Could not ‹do your thing› — ‹the one thing to try›””

One shape for every failure. It opens with what could not happen, in the user’s own noun — save, copy, share, send — and closes with the single step that would work. No error code, no “something went wrong”, no apology, no exclamation mark. When there is no step, say what state the thing is in instead (“Your last edit was not applied”).

Do

  • “Could not load the logo library — try again”
  • “That link expired or was already used — request a fresh one.”
  • “Someone changed the deck first — reloaded. Your last edit was not applied”
  • Image upload failed — Check the server.

The em dash is the hinge: left of it what could not happen, right of it the one next step — or, when there is none, the honest state. In an Alert the same sentence splits into Title and Description.

Don’t

  • “Error:”
  • “Failed to add slides”
  • “bad deck id”

The shape to avoid: a bare prefix with the raw message after it, a failure with no next step, and the server’s own jargon in lowercase.

04 · Confirmation — one word in the past tense, or the consequence

Section titled “04 · Confirmation — one word in the past tense, or the consequence”

When the thing simply happened, say so in one past-tense word and get out of the way. When it happened with a consequence the user cannot see — a copy now exists, an original is untouched, an edit was dropped — say the consequence after the dash. A confirmation is only ever true: “deleted” means deleted, “saved” is shown after the save, never before.

  • “Renamed”
  • “Undone”
  • “Logo deleted”
  • “Photo updated”

One word, past tense, the noun only when the screen would not tell you which thing. Undo is the action on the toast (Toast · Has action), not a second sentence.

  • “A public copy was created — your original stays private”
  • “Template duplicated — the copy is yours to edit”
  • “Removed from your list”

The consequence is the part the user cannot see — where the copy went, what stayed the same, whose it is now.

05 · Person and tense — the user’s things are “yours”, “we” belongs to the site, “I” to nobody

Section titled “05 · Person and tense — the user’s things are “yours”, “we” belongs to the site, “I” to nobody”

Second person names ownership, and only ownership: your original, your list, your report, your slide edits. “We” appears on the site, where a company is speaking — “We locate apps and sites… We display the perfect ad” — and not in the product’s messages, where the product is speaking; “I” appears in none of them. Present tense for a state that is true now; past tense for a thing that just happened; imperative only for the one next step.

  • “Copy created — share it in the new tab; your original stays unchanged”
  • “Your slide edits could not be saved — fix that first, then Save solution”

Every “your” is attached to a thing the user made. There is no “you did”, “you must”, “you can’t” — the person is never the subject of a sentence.

“We” — the company, on the site only

Section titled ““We” — the company, on the site only”
  • ““We locate apps and sites with relevant content tailored to users with strong intent. We display the perfect ad to the right customer.””

A company can say we; a product cannot — a toast that says “we couldn’t save” is a company hiding behind a tool.

  • “Nothing to undo”
  • “Layout changed”
  • “Could not share — try again”

A state in the present (“Nothing to undo”); an event in the past (“Layout changed”); the one next step as an imperative after the dash. Never the future — nothing “will be saved”.

06 · The line — the machine places, the person writes

Section titled “06 · The line — the machine places, the person writes”

Everything on this page is about the words the system says for itself: labels, states, failures, confirmations, empty states. It has no voice for anything else. A heading, a bullet, a KPI caption, a sentence on a slide are the user’s, and the system never writes one, improves one, or invents one to balance a layout — “AI helps decide where content goes — it never WRITES content”. Re-casing a heading does not re-word it.

  • No campaigns yet — Your first campaign shows here with its numbers.

An empty state is the system’s sentence: what is not here yet and the one thing that puts it here. The library’s specimen copy (“No campaigns yet”, “Latency = lost impressions”) shows a shape and is replaced before anything ships — it is never the words on a screen.

  • “Where the money goes”
  • “• Retention held at 41 % while spend fell by a third”

The heading and the bullet belong to the manager who typed them. The system may move them, size them, re-case the heading (Writing rules · Case) and drop nothing (principle 10 — the user’s content is precious). It may not touch a word.

The same page in the Figma library: Tone of voice.

Pepper UI v1.5.0

The Mobupps design system. 386 tokens, 88 components, 65 pages in the workshop — every page of this site generated from the repository, so nothing here is typed twice.