Skip to main contentCarbon Design System

Empty states

Empty states are moments in an app where there is no data to display to the user. They are most commonly seen the first time a user interacts with a product or page, but can be used when data has been deleted or is unavailable.

Overview

Empty states are a simple yet extremely powerful way to keep a user informed, supported, and on a productive path. They provide opportunities to communicate what the user would see if they had data, while providing constructive guidance about next steps.

With just enough contextual guidance, empty states ensure a smoothness of experience, especially when things aren’t working as expected.

Most people are familiar with the basic empty state page that explains what data would normally appear on a page. However, it’s not always a one size fits all.

This pattern explores the following approaches:

  • Basic empty states for first use, user action confirmation, and error management
  • In-depth supplements and alternatives for first use empty states, including in-line documentation, onboarding, and starter content

Anatomy

Basic empty state with primary action button

Basic empty state with primary action button

  1. Image (optional): A non-interactive image that relates to the situation (optional).
  2. Title: A short and concise explanation. Where possible, write this as a positive statement. In this example, “Start by adding data assets” feels more positive than “You don’t have any data assets.” Alternatively, you could say “You don’t have any data assets yet”.
  3. Body: Explain clearly the next action to populate the space. You may also explain why the space is empty and include the benefit of taking this step. There are three options for explaining the primary action:
    • Direct the user to a primary action button positioned underneath the copy
    • Include a primary action link in the copy
    • Direct the user to the UI element—see the example below. This has the benefit of teaching the user where elements are and how they will perform tasks in the future.
  4. Primary action—button or link in copy (optional): The primary call to action referenced in the body copy above.
  5. Secondary call to action (optional): If there is a secondary action, such as referencing documentation for further reading, include it as a link below the copy.
Basic empty state with instruction to click UI element

Basic empty state with instruction to click UI element

Designing with empty states

Empty states are often treated as an afterthought. When designed thoughtfully, they become an essential part of a smooth user experience, providing just enough information, in context, to allow users to continue working in a productive way.

During the design process, ask yourself these questions:

  • What will the pages, tiles, data tables, and side panels look like without content?
  • What are all of the steps a user can take to address the situation?
  • Is there any useful content that might be available to show?
  • How can I turn this situation into something that is engaging and helpful?

During the design phase, explore the full range of options with your team to ensure that the most appropriate and helpful content is created for each empty space.

When to use

Empty states happen for a variety of reasons, and can require different treatments.

Strive for a balance between the situation and the content you’re providing. More content doesn’t necessarily mean it’s a better solution as there is a cognitive cost for having more content on the page. This is especially true when users first engage with your product, so save the more involved educational moments for primary features and more complex situations.

The following table suggests different approaches for empty states to match the needs of the user in different situations.

Basic empty states
TypeUse casesGoal of the empty stateWhen to use
No data empty statesFirst time use, no data yetUser understands what will be available on the page when data has been added or is available. They understand how to add data themselves.For simpler situations, or for secondary features where bite-sized pieces of information are preferable.
User action empty statesProvides feedback based on some user action. For example:

  • No results when searching
  • Confirmation of completion of a process
User understands how to adjust search terms or filters to continue their search.

User understands that they’ve successfully completed a process.
User understands that they’ve successfully completed a process. When you need to provide feedback to the user based on an interaction.
Error management empty states
  • Permissions issue
  • Systems issue
  • Configuration required
User understands the problem and if there are corrective actions available, knows what action to take or has options to correct the issue.When something is amiss or some level of intervention or troubleshooting is required, a higher level of detail and specificity will better support the user.

Where to use