Product Design

Dashboard UI Design: Best Practices and Examples for SaaS Products

Design HQ Team•
Dashboard UI Design: Best Practices and Examples for SaaS Products

Most SaaS dashboards start as a good idea — one screen that shows how things are going — and end up as a grid of every chart the data team could produce. Users open them, scan for the one number they care about, and leave. Good dashboard user interface design reverses that: it starts from the decisions people need to make and works backwards to the pixels.

Stephen Few’s definition is still the most useful test. A dashboard is a “single-screen display of the most important information people need to do a job”, presented so they can “monitor what’s going on in an instant” (Stephen Few, Information Dashboard Design, O’Reilly, 2006, via UXmatters’ review). Every recommendation in this guide comes back to those two phrases: most important and in an instant.

This guide is written for founders, product managers and designers working on data-heavy web apps. Throughout, we separate established principles — usability research and accessibility standards, with sources — from our recommendations, which come from designing product interfaces and are worth testing with your own users. The illustrations are conceptual and use sample data.

Start with the job the dashboard does

Before you design dashboard screens, decide what kind of dashboard you are building. The same metrics can need a completely different layout depending on whether someone is watching for problems, investigating a trend or deciding what to work on next.

What the research says: Nielsen Norman Group distinguishes operational dashboards, which “impart critical information quickly to users as they are engaged in time-sensitive tasks”, from analytical dashboards, which support analysis and decision-making. IBM’s Carbon Design System makes a similar split between presentation dashboards that show the current status of key indicators and exploration dashboards that let users interact with data to find patterns. (Sources: Nielsen Norman Group — Dashboards: Making Charts and Graphs Easier to Understand; IBM Carbon Design System — Dashboards)

Three jobs a SaaS dashboard can do

Dashboard jobThe user’s questionData freshnessDensityTypical SaaS example
Monitor (operational)“Is anything wrong right now?”Live or near-liveLow: few signals, strong alertsInfrastructure status, support queue, payments failing
Analyse (analytical / exploration)“Why did this change?”Hourly or daily is usually fineHigh: filters, comparisons, drill-downProduct analytics, revenue reporting
Act (home or workspace)“What should I do next?”Fresh enough to act onMedium: summary plus a task listSaaS app home screen, account overview

Our recommendation: Treat the third type as its own category. Many SaaS “dashboards” are really home screens whose job is to send the user somewhere — a task to finish, an invoice to approve. These need clear next actions more than they need charts.

Write the questions before you draw anything

The most effective step in dashboard UX design happens before any layout work. For each user role, list three to five questions the dashboard must answer, then map each question to one metric and one visual. If a chart doesn’t answer a listed question, it belongs in a report, not on the dashboard.

Example question map for a B2B SaaS revenue dashboard

QuestionMetricVisualComparison
Are we growing?Monthly recurring revenueKPI card + 12-month linevs last month and target
Where is growth coming from?New, expansion and churned MRRStacked or grouped bars by monthvs same month last year
Which accounts need attention?Accounts with falling usageSorted table with statusvs their own 30-day average

Information hierarchy: deciding what the eye sees first

What the research says: Carbon’s dashboard guidance is direct: “Prioritize data by importance, then create a clear visual hierarchy,” and “the most important data should have the highest contrast and occupy the largest area.” (Source: IBM Carbon Design System — Dashboards)

A three-tier layout that works for most SaaS dashboards

In most product dashboard design work we start from three tiers and adjust from there:

  1. Summary: three to five KPI cards across the top. These answer “how are we doing?” in one scan.
  2. Trend and breakdown: one or two charts that explain the KPIs — usually a time series and a breakdown by segment.
  3. Detail: a sortable table or list where the user can act — open a record, assign an owner, export.

Our recommendation: Keep the order stable across every dashboard in your product. When users learn that the top row is always status and the bottom is always the list they act on, they stop reading layouts and start reading data.

KPI cards that answer “compared to what?”

A number on its own is rarely useful. “4,120 active users” means nothing until the reader knows whether that is up or down, and against what. A complete KPI card has five parts: a plain-language label, the value with its unit, the change, the comparison period, and a link to the detail behind it. A small sparkline is optional but helps show direction.

Our recommendation: Use tabular (fixed-width) numerals for figures that sit in columns or update live, so digits don’t shift as values change. Show the direction of change with an arrow and a sign as well as colour, and say “vs last 30 days” rather than leaving the comparison implied.

Metric definitions and data freshness

Dashboards lose trust when two people read the same number differently. “Active users” can mean signed in, performed a key action, or was billed. Every metric should have a definition one click away — what it counts, how it’s calculated, where the data comes from — and every dashboard should say how current it is.

  • Show an “updated” time near the dashboard title, and a warning when data is older than users would expect.
  • Flag estimates. Stripe’s documentation, for example, notes that its home page charts are estimates and that multiple currencies are converted using estimated exchange rates (Stripe Support). Saying so in the interface prevents support tickets.
  • Keep a metric dictionary shared by product, data and design, so labels and tooltips are written once and reused.

Choosing the right chart for the question

Chart choice is where many dashboards go wrong, usually because the chart was picked for variety rather than for the question.

What the research says: People estimate length and 2D position accurately, which is why bar charts, line charts and scatterplots are reliable for quantitative data. Nielsen Norman Group describes pie and donut charts as “notoriously poor at most information-communication tasks”, finds radial gauges harder to read than linear graphs, and advises that colour “should not be used to communicate information about quantitative values or magnitude”. (Source: Nielsen Norman Group — Dashboards: Making Charts and Graphs Easier to Understand)

Matching the question to the chart

The questionUseAvoidWhy
How do categories compare?Sorted horizontal or vertical barsPie or donut with many slicesLengths compare accurately; sorting does the ranking for the reader
How has this changed over time?Line chart (bars for few periods)Area charts with many stacked seriesPosition over time shows direction and rate of change
What share does each part have?Stacked bar, or a single bar of 100%Pie with similar-sized slicesAngles are hard to compare; a stacked bar keeps parts on one scale
Are we on track to a target?Bullet chart or progress barRadial gaugeA linear scale is easier to read and uses less space
How are values distributed?Histogram or box plotAverages aloneAn average hides skew and outliers
Is there a relationship?Scatter plotTwo separate charts side by sideOne shared plane shows the relationship directly

Layout, navigation and density in web app dashboard design

Grids and layout patterns

Most dashboards sit on a 12-column grid with cards that span 3, 4, 6 or 12 columns. A fixed grid keeps alignment consistent and makes responsive behaviour predictable. Free-form layouts give more control for wall displays or reports but are harder to keep tidy.

Datadog is a useful real-world reference because it offers both: its documentation describes grid-based dashboards, “Timeboards” with automatic layouts that represent a single point in time, and “Screenboards” with free-form layouts (Datadog Docs).

Our recommendation: Default to a fixed grid with a small set of card sizes. Free-form layouts are worth the extra effort only when users build their own dashboards for display on a shared screen.

Density without clutter

Dense dashboards are not a problem in themselves — analysts and operators often prefer seeing more at once. Clutter comes from inconsistency: mixed alignments, too many colours, repeated legends and decorative borders. Remove those and the same amount of data reads more calmly.

Our recommendation: Offer a compact view for expert users rather than making everything compact by default. A comfortable row height of around 48px and a compact one of around 36px is a common pairing in data tables.

Where the dashboard sits in the app

In web app dashboard design, the dashboard is rarely the whole product. It needs a clear path to the screens behind each number. Every KPI and chart segment should be clickable through to a filtered list, and the filters should carry across so the user doesn’t have to recreate them.

Filters, date ranges and drill-down

Filtering is where analytical dashboards earn their keep, and where they most often confuse people. Three decisions matter most.

  • Global versus local filters. Make it obvious which filters affect everything and which affect one chart. Linear’s documentation describes both: dashboard-level filters that “apply globally to all insights in that dashboard”, and filters on an individual insight that affect only that insight (Linear Docs).
  • Date range and comparison together. Stripe lets users choose a preset or custom date range, a time unit and a comparison range for the home page charts (Stripe Support). Pairing the range with a comparison is what turns numbers into change.
  • Filtering by clicking the data. Plausible’s dashboard lets users “click on any of the entries in any of the reports to filter” the whole dashboard by it (Plausible Docs). It removes a trip to a filter panel for the most common question: “show me only this.”

Our recommendation: Show every active filter as a removable chip above the content, store filters in the URL so views can be shared and bookmarked, and keep a visible “Reset” control. A dashboard that silently remembers yesterday’s filter is a common source of wrong decisions.

What the research says: Carbon recommends that “when a user manipulates one chart, other charts showing related data sets should automatically update”, and that colours stay consistent for each data set across the dashboard. (Source: IBM Carbon Design System — Dashboards)

Designing empty, loading, error and no-results states

A dashboard spends much of its life not in its ideal state: data is still loading, a new account has no data yet, a filter returns nothing, or a source fails. These states are part of dashboard UX design, not edge cases to patch later.

What the research says: Jakob Nielsen’s response-time limits still frame loading design: about 0.1 second feels instantaneous, about 1 second keeps the user’s flow of thought, and around 10 seconds is the limit for keeping attention, after which users need an indication of when the wait will end. (Source: Nielsen Norman Group — Response Time Limits)

What the research says: Nielsen Norman Group’s guidance on skeleton screens: below about 1 second, show no loading indicator; for full-page loads under 10 seconds, a skeleton screen works well; a spinner suits a single module such as a dashboard card; and for waits over 10 seconds, use a progress bar. (Source: Nielsen Norman Group — Skeleton Screens 101)

What each state needs to tell the user

StateWhat the user needs to knowDesign response
LoadingSomething is happening and roughly how longSkeleton for the page; per-card loading for slow widgets so fast cards appear first
Empty (new account)Why there’s no data and how to get someExplain what will appear here and give one action, e.g. connect a source or invite a teammate
No resultsThe filters excluded everythingName the filters responsible and offer to clear them
ErrorWhat failed, whether it’s their fault, what to doPlain-language message, retry, and keep other cards working
Stale or partialThe numbers may be out of dateShow the last successful update time and which source is delayed

Our recommendation: Never show a zero when the truth is “no data”. A chart reading 0 signups after a failed sync looks like a business problem rather than a technical one. Use a distinct empty or error treatment instead.

Role-based and personalised dashboards

The founder, the sales manager and the support lead all log into the same product but ask different questions. One dashboard for everyone usually means a dashboard that serves nobody well. There are two ways to handle this, and most products need both.

  • Role-based defaults. Choose a sensible starting dashboard for each role, built from that role’s questions. New users get value without configuring anything.
  • Personalisation. Let people add, remove and reorder cards. Shopify’s overview dashboard lets merchants add, remove, rearrange and resize metric cards (Shopify Help Center); Stripe lets users add, remove and organise home page widgets (Stripe Support).

Permissions belong in the same conversation. Stripe’s documentation notes that users with a View only role can’t create payments, refunds or payouts in its mobile app (Stripe Docs). Hide or disable actions a role can’t perform, and say why, rather than letting users discover the restriction through an error.

Our recommendation: Start with role defaults and add personalisation once you see what users change. Fully blank, build-your-own dashboards look flexible in a demo but leave most users staring at an empty canvas.

Responsive dashboards and mobile app dashboard UI design

A dashboard designed for a 1440px monitor will not simply shrink to a phone. The question changes as the screen does: on mobile, people usually want to check a few numbers or respond to an alert, not explore.

What the research says: WCAG 2.2 Success Criterion 1.4.10 Reflow (Level AA) requires content to be usable at a width of 320 CSS pixels without scrolling in two dimensions, with exceptions for content such as data tables and maps that need a two-dimensional layout. Success Criterion 2.5.8 Target Size (Minimum) (Level AA) sets a minimum target of 24 by 24 CSS pixels, with exceptions. (Source: W3C — WCAG 2.2)

How a dashboard typically adapts

DesktopTabletMobile
KPIsRow of 4–5 cards2 × 2 gridStacked; top 2–3 only, rest behind “More”
ChartsSide by sideFull width, stackedOne chart, simplified axes, tap for detail
TablesFull table with sortingFewer columnsList of cards with the key column first
FiltersPersistent barCollapsible barSheet opened from a filter button with a count of active filters

Stripe’s mobile app is a good example of mobile app dashboard UI design built around the phone’s strengths rather than a shrunken desktop. Its documentation lists dashboard charts, push notifications including a daily summary, search, and widgets for individual metrics (Stripe Docs).

Our recommendation: Decide what is desktop-only and say so in the interface. Being explicit beats a cramped mobile editor that half works.

Accessibility and colour in dashboards

Dashboards rely heavily on colour and small text, which makes them easy to get wrong for people with low vision or colour-vision deficiency. The relevant WCAG criteria are specific enough to design against.

What the research says: 1.4.1 Use of Color (Level A): colour must not be the only visual means of conveying information. A red/green status dot alone fails; a dot with an icon or text label passes. (Source: W3C — Understanding SC 1.4.1 Use of Color)

What the research says: 1.4.11 Non-text Contrast (Level AA): parts of graphics needed to understand the content need a 3:1 contrast ratio against adjacent colours — for example, chart lines against the background and adjoining pie slices. The criterion doesn’t apply where the same information is given in text, such as values labelled on a chart. (Source: W3C — Understanding SC 1.4.11 Non-text Contrast)

What the research says: 1.4.3 Contrast (Minimum) (Level AA): text needs a contrast ratio of at least 4.5:1, or 3:1 for large text. 2.4.7 Focus Visible (Level AA): keyboard focus must be visible. (Source: W3C — WCAG 2.2)

Dashboard accessibility checklist

  • Status uses an icon or text as well as colour
  • Chart lines, bars and segments reach 3:1 against neighbours, or values are labelled
  • Text, including axis labels and table text, reaches 4.5:1
  • Every chart has a text summary or an accessible data table
  • Filters, tabs and chart controls work with a keyboard, with a visible focus state
  • Live-updating figures don’t move focus or announce every tick to screen readers
  • Layout works at 320 CSS pixels wide, except genuinely two-dimensional tables and charts
  • Touch targets are at least 24 × 24 CSS pixels

Real SaaS dashboard examples and what to learn from them

The five examples below are described from each company’s public documentation, which we link so you can check the details. We have not reproduced product screenshots; the descriptions are limited to what the documentation states.

Stripe: a customisable home with comparison built in

Stripe’s Dashboard home lets users add, remove and organise chart widgets, choose a preset or custom date range, pick a time unit and set a comparison range (Stripe Support). The mobile app carries dashboard charts plus push notifications and metric widgets (Stripe Docs). Lesson: make the comparison period a first-class control rather than an afterthought.

Datadog: different layouts for different jobs

Datadog offers grid dashboards, Timeboards with automatic layouts tied to a single point in time, and free-form Screenboards. Template variables dynamically filter the widgets, and its documentation notes that publicly shared dashboards refresh every thirty seconds (Datadog Docs). Lesson: monitoring and storytelling need different layouts, and a shared time context keeps every widget comparable.

Linear: dashboards built from reusable insights

Linear’s Dashboards bring insights from across teams and projects onto a single page, with dashboard-level filters as well as per-insight filters. The documentation states they are available on Enterprise plans (Linear Docs). Lesson: build dashboards from components users already know from elsewhere in the product, and make filter scope explicit.

Plausible: one page, no sub-menus

Plausible deliberately gives users one dashboard with “the essential website stats”, with “no sub-menus and no need to build custom reports”. Users click a metric to show it in the main graph, click any report entry to filter the dashboard, and use a date picker to change the period (Plausible Docs). Lesson: a narrow scope, deliberately chosen, can be the whole design strategy.

Shopify: merchant-controlled metric cards

Shopify’s analytics overview lets merchants add, remove and rearrange metric cards, organise them into labelled sections and resize them, drawing on a card for each available report (Shopify Help Center). Lesson: personalisation built from a fixed set of known cards is easier to support than unlimited flexibility.

Common dashboard UX mistakes and how to fix them

Mistakes we see most often in SaaS dashboards

MistakeWhat goes wrongFix
Showing everything the data allowsNo hierarchy; the important number is lostStart from the question map; move the rest to reports
Numbers without comparisonUsers can’t tell good from badAdd change, comparison period and, where relevant, a target
Colour carrying meaning aloneFails WCAG 1.4.1; misread by colour-blind usersPair colour with icons, labels or patterns
Decorative chart typesGauges, 3D and many-slice pies slow readingUse bars, lines and bullet charts
Hidden filter stateUsers act on filtered data without realisingVisible filter chips, URL state and a reset control
Zero instead of “no data”A sync failure looks like a business problemDistinct empty, error and stale states
No definitionsTeams argue about what a metric meansDefinition, source and update time on every metric
Desktop layout squeezed onto mobileTiny charts and sideways scrollingChoose the mobile job first, then the components

Dashboard design checklist

Before you ship a dashboard

  • Each role has three to five written questions the dashboard answers
  • Every chart maps to one of those questions
  • KPIs show value, unit, change, comparison period and a path to detail
  • Chart types match the question (comparison, trend, share, target, distribution)
  • Metric definitions and an “updated” time are visible
  • Filter scope is clear, active filters are visible and shareable
  • Loading, empty, no-results, error and stale states are designed
  • Role defaults exist; personalisation has clear limits
  • Mobile shows the mobile job, not a shrunken desktop
  • Accessibility checklist above is complete

Dashboard UI design FAQs

What is dashboard UI design?

Dashboard UI design is the design of screens that summarise the most important information for a task so people can understand it at a glance. It covers what to show, in what order, which charts to use, and how users filter, drill down and act on what they see.

What is the difference between dashboard UI and UX design?

UI design covers the visible layer: layout, typography, colour, chart styling and components. UX design covers whether the dashboard answers the right questions for each role, how filters and drill-down behave, and how states such as loading and errors are handled. Good UI UX dashboard design treats both together.

How many KPIs should a dashboard show?

There is no research-backed fixed number. As a working rule, we start with three to five KPIs in the summary row because that fits a single scan on desktop, then justify each one against a question a user actually asks.

How do you design a dashboard for mobile?

Start from what people do on a phone — check a few numbers or respond to an alert — and design for that. Stack the top KPIs, show one simplified chart at a time, turn tables into lists, and move filters into a sheet. Make sure the layout works at 320 CSS pixels wide.

Should dashboards update in real time?

Only when the user’s decision depends on it, as with operational monitoring. Analytical dashboards are usually fine with hourly or daily data. In either case, show when the data was last updated.

Putting dashboard design into practice

Good dashboard user interface design is mostly a series of decisions made before visual design starts: which job the dashboard does, which questions each role asks, which metric answers each question and how it is defined. Get those right and layout, chart choice and states follow naturally. Get them wrong and no amount of polish will save the screen.

If you’re designing or redesigning a product dashboard, our UI design service covers dashboards and data interfaces as part of SaaS product work, and our product and digital design service covers the wider web app. For the product thinking behind it, see our guide to UX design principles every founder should know, and for how interface quality affects revenue, read why your product UI is your most powerful sales tool.

Designing a SaaS dashboard? See how DesignHQ’s UI design team approaches dashboards and data interfaces. Explore UI design services →

Let's Connect.

Decorative connect icon

Let's Connect.

Decorative connect icon

Let's Connect.

Decorative connect icon

Let's Connect.

Decorative connect icon