Skip to content

EmptyState

Stable

A message for an area with nothing in it: a drawing, a title that says why, one line, and one button.

Also known as blank slate, zero state, no results, no data

Install with npm install @tattva/ui (setup), or copy the code from the kit in Downloads.

First use

Start by adding a document

Documents give the assistant something to read.

A truly empty area invites the first step. The title is positive and the button does what it says.

When to use it

Fills an area that has nothing to show with a reason and one next step. Saying the cause first stops people wondering whether something broke.

Made of: Drawing · "Action needed" tag (permission and usage limit) · Title · Text · Main button · Second link

Use it for

  • A first visit, before anything has been made.
  • A search or filter with no results.
  • An area where everything is done, or that cannot load, is private or is offline.

Not for

Do and avoid

No results for these filters

Try a shorter search or clear the filters.

Do. Says why it is empty and gives one next step.

Nothing here.

Avoid. A blank dead end gives no reason and no way forward.

Do

  • Say why in the title and what to do next on the button.
  • Treat a filtered list differently from one that is truly empty.
  • Offer one main button and at most one second link.
  • Keep words short and plain, and never point to another part of the app as the only way out.

Avoid

  • Do not leave a dead end. Every screen needs a way forward, or a reason there is none.
  • Do not use amber unless a person must act.
  • Do not let the drawing be the only explanation.
  • Do not use several drawings on one screen.

On a phone

  • The panel fills the width, with the art, text and buttons stacked in one column.
  • Text is capped at 44 characters wide and the title breaks anywhere, so long titles do not overflow.
  • The action and secondary buttons wrap onto separate lines when they do not fit, and each button has a 44px tap area on touch screens.

Seen in products

  • Carbon's empty states pattern lists up to five elements: an optional image, a title, a body, a primary action and an optional secondary action or link.
  • Carbon names three types: no data (first use), user action (no search results, completion) and error management (permissions, system problem, required configuration).
  • Carbon asks for positive titles such as Start by adding, short copy without product jargon, no references to other areas of the app and no dead ends. In small spaces it centers the image above left-aligned text or omits the image. Decorative images get an empty alt.
  • NN/g says empty states should communicate system status, because a blank area could mean loading, error or filters. They should give learning cues and a direct pathway.
  • Shopify's app home pattern names the cause in the heading and puts the next step in the action, separates filtered-empty from truly empty, uses one primary and one secondary button, and skips the graphic in dense contexts.
  • Material's guidance, seen in a snippet, asks for neutral or humorous on-brand images, avoids imagery that expresses urgency or confusion, and treats the image and tagline as non-interactive.

Build your next AI screen with Tattva.

Free and open, with the code. Start in one line.

Get started