The empty state is a first-run moment, not a placeholder

A user meets an empty screen before they meet your product. It is the highest-leverage copy in the interface, and it is usually written last.

Every list is empty the first time. Every dashboard has no data on day one. That screen is the moment a new user decides whether they understand what you built, and it arrives before any feature does. Most products ship it with "No data" or nothing.

What the copy has to do

  • Say what will appear here, in the user's terms. Your first invoice will show up here is information; no invoices yet is a shrug.
  • Say why it is empty if there is a reason — a filter, a new account, a sync still running. Unexplained emptiness reads as breakage.
  • Give the one action that fills it. One. A screen with four empty states and four buttons has no primary action.
  • Do not apologise. A new account is not an error.

The failure mode

EmptyKit's lint flags the two patterns that do the most damage: copy that implies the user did something wrong, and copy that describes the database rather than the user's situation. No records found is the second. It is accurate, and it is useless.

← Back to blog

这次结果有帮助吗?反馈