Guide · Home Assistant
How to build a Home Assistant dashboard
Home Assistant ships with a dashboard already built for you. It is called Overview, it assembles itself from the devices you add, and it needs no configuration at all. For a lot of homes that is enough. The moment it stops being enough is usually the same moment: the house has grown past one screen, and the thing you actually want on a kitchen tablet is buried three scrolls down.
The fix is not YAML. Since the Sections layout became the default, dashboards are built by drag and drop in the browser or the app, and the page you end up with is the page your family taps. Per Home Assistant's documentation, a single tap on a dashboard can dim lights, start a robot vacuum or arm an alarm. It is the layer between the automations you configured and the people who never open Settings.
This guide walks through the parts that matter, in the order you will meet them. It is written against the dashboard documentation current at 2026.10.4; the sections below link to the pages they draw from. For the wider Home Assistant picture, start at our Home Assistant section.
The three nouns: dashboard, view, card
Almost every confusion about Home Assistant dashboards is a confusion about these three words.
A dashboard is a screen with its own entry in the sidebar. A view is a tab inside that dashboard. A card is a single block — a light, a gauge, a camera, a button — placed inside a view. The cards documentation describes cards as the building blocks: you arrange them freely across views, resize them in the Sections layout, and give each one actions, features and conditional visibility.
Everything else in this article is a setting on one of those three.
Step one: decide whether to take control
The first time you edit the default Overview, Home Assistant shows an "Edit dashboard" dialog. Confirming it means you take control. From that point the dashboard is yours, and it is no longer auto-updated with new dashboard elements as you add devices. You also cannot put that specific dashboard back into auto-update mode.
That is a one-way door, and it is worth understanding before you click. If you want the auto-generated view to keep improving itself while you experiment, make a second dashboard and leave Overview alone. Home Assistant supports several dashboards at once, each addable to the sidebar, so there is no cost to keeping the automatic one around.
If you do take control and later regret it, the escape route is to create a new default dashboard rather than trying to restore the old one.
Step two: pick the view type
A view is a tab, and every view has a layout type. There are four, per the views documentation: Sections (the default), Masonry, Panel and Sidebar.
- Sections is a grid and the only one worth choosing for a new dashboard. It groups cards into sections, which means you no longer need horizontal and vertical stack cards just to keep related things together.
- Masonry is the old default: columns of cards that fill in whatever order they fit. Fine if you built one years ago and like it.
- Panel gives a single card the full width of the screen — useful for a map or a camera wall and almost nothing else.
- Sidebar puts a narrow column beside the main content, for a control strip next to something bigger.
Two of these carry a limitation worth knowing: Sidebar and Panel views do not support badges.
Step three: understand Sections before you build
Sections is where most of the design decisions now live. Per the Sections documentation, the layout is a grid that groups cards into sections without stack cards, and its settings include "Max number of sections wide" and "Dense section placement". Dense placement auto-fills horizontal gaps in the layout, which buys you a tighter page at the cost of controlling card order yourself. Leave it off while you are still arranging things; turn it on when the arrangement is settled.
Creating a section automatically adds a Heading card at its top. The heading is deletable, but it is usually the right place for the section title — and its header supports Markdown with templating, so a heading can carry live information rather than a fixed label. Badges can sit in the header too, and sections can be shown conditionally or per user.
One rule that catches people out: you cannot migrate a Sections view into another layout type. Migration runs the other way only. Moving an existing Masonry view into a Sections view is non-destructive — Home Assistant creates an additional view rather than converting in place — but once you are on Sections, you are on Sections.
Step four: add cards
Adding a card starts at Settings, then Dashboards, then the dashboard, then the view, then the edit button. In a Sections layout the add control is a plus inside the section; in other layouts it is an "Add card" button at the bottom right. There are two paths from there. By entity lets you pick entities first and see a card preview, with anything not yet placed appearing under "Unassigned". By card browses every card type, and people on Sections layouts are pointed at the Tile card under Suggested cards. Cards can also be added from a device's own page, which is often faster when you are setting up a new sensor.
As a rule of thumb, a section with four to eight tiles is readable at arm's length, and a screen of six to nine sections is about what a tablet shows without scrolling.
Step five: start with Tile
The Tile card is the one Home Assistant steers new dashboards toward, and it earns that. It is a compact entity overview row with tap actions plus optional "features" — for example bottom-aligned controls for a climate entity. Entities with a richer state, such as climate or person, get a badge inside the tile, and a circular icon background tells you a tap action exists.
Its options are deliberately small: type: tile, entity, name (a string, a map or a list), icon, color — which defaults to state and accepts a colour token or a hex value — and show_entity_picture. That is enough to build a whole dashboard, and it is why it is the recommended starting point.
Step six: badges for the at-a-glance states
Badges sit at the top of a view, above every card, and exist for the things you want to see without reading: temperatures, open windows, who is home. To add one, go to Settings, Dashboards, open the view, edit, press plus and pick an entity, per the badges documentation.
An entity badge in YAML is short — type: entity and entity: light.living_room — and its options are worth knowing because the defaults hide things. show_name defaults to false, show_icon to true, show_state to true. state_content accepts state, last_changed or last_updated, or any attribute, and time_format takes relative, total, date, time or datetime. Badge visibility conditions are the same set the conditional card uses, so a badge can appear only when the garage door is open.
Step seven: one dashboard per person, and per screen
The documentation makes the case for multiple dashboards directly: a focused one for the kitchen tablet, a simple one for guests, a detailed one for yourself. Manage them under Settings, Dashboards, which lists your dashboards alongside Home Assistant's built-in ones. Each can be added to the sidebar, which lets you build separate control surfaces for different parts of the house.
The built-in dashboards come with a constraint: they cannot be deleted and have limited editability, and you cannot add views to them. Home Assistant ships Activity, Climate, Energy, History, Lights, Maintenance, Overview, Security and To-do lists. The sidebar defaults show Home, Activity, Energy, History and To-do lists. Map is the exception — it ships out of the box but is freely editable, so it counts as user-created. Lights, Security, Climate, Energy and Maintenance appear in the dashboard list but not the sidebar by default, and Maintenance highlights low batteries.
That matters for the guest dashboard: build it as a new dashboard rather than trying to prune a built-in one.
Themes, and the per-card override
Themes come from the frontend integration, which is enabled by default through default_config:. A theme is defined under themes: as a map of theme name to CSS variables; extra_module_url loads extra JavaScript if you need it. The frontend integration also carries development_repo, development_pr and github_token for frontend development, which you can ignore unless you are building custom cards.
The useful part is granularity: a theme can be set on a view through the view settings, and individual cards can carry their own theme, so a dark camera panel can sit on an otherwise light dashboard without a second page.
View settings worth setting once
Each view carries more than a layout. Alongside the title there is an icon picked from Material icons, and an icon-only display mode where the title becomes a tooltip through the "Show icon and title" toggle. There is a URL link field, a theme selector, a background image tab, and a Visibility tab for hiding the view from specific users. The Subview toggle turns the view into a subview — reachable by link and by navigation actions, but not shown as a tab — which is the clean way to build detail pages that a dashboard links into.
Gotchas
- Taking control removes auto-update. There is no undo for that dashboard.
- Built-in dashboards reject new views. If a plus button is missing, that is why.
- Sidebar and Panel views drop badges. Use Sections if badges matter.
- Migration is one-way. Sections views cannot become another type; older types can become Sections, non-destructively.
- Dense section placement fights you while you are arranging cards. Turn it on last.
- Hiding is not securing. Visibility settings tidy a screen for other users; they are not an access control boundary.
FAQ
What is the difference between a dashboard and a view in Home Assistant?
A dashboard is a whole screen with its own entry in the sidebar; a view is a tab inside that dashboard. One dashboard can hold several views, and each view has its own layout type, icon, theme and visibility settings.
Which view type should I pick: Sections, Masonry, Panel, or Sidebar?
Sections is the default and the right choice for most people, because it groups cards into sections without horizontal and vertical stack cards. Masonry suits older layouts, Panel gives one card the full width, and Sidebar puts a narrow column beside the main content.
How do I apply a theme to a whole dashboard versus a single card?
Themes come from the frontend integration and are defined as a map of theme names to CSS variables. You can set a theme on a view through the view settings, and individual cards can carry their own theme setting as well.
What is a good dashboard setup for a wall-mounted tablet?
A separate dashboard with a small number of Sections views, badges for the states you glance at, and a theme that reads well in daylight. Home Assistant supports several dashboards at once, so the tablet can have its own without disturbing the one on your phone.
Can I hide cards or whole views from guests and other users?
Yes. A view has a Visibility tab for hiding it from specific users, and badges and cards support conditional visibility. Sections can also be shown conditionally or per user.
What does taking control of the default dashboard actually change?
It stops Home Assistant from auto-updating that dashboard with new elements. The change cannot be undone for that dashboard, though you can create a new default dashboard and start again.
We publish a daily brief on Home Assistant, Zigbee, Z-Wave and Matter releases. Read today's.
Setting up the machine underneath the dashboard? Our guides to the Home Assistant Green and to running Home Assistant on a Raspberry Pi cover the hardware side of the same job.
- Primary sources
- Home Assistant dashboards; Views; Sections view; Cards; Tile card; Badges; Dashboards and the sidebar; Frontend integration