What is a card?
In Home Assistant, cards are the building blocks you drop onto a dashboard view. Each one provides a little window into an entity, a group of entities, or a service – and many offer direct controls (toggles, sliders, buttons) so you can act without leaving the page.
Introduction to Lovelace Cards
Built-in vs. Custom Cards:
- Built-in cards: Officially supported, stable, but limited customization.
- Custom cards: Community-created, highly customizable, but require manual installation.
Card Limitations:
- Not all cards support all entity types. A thermostat card won't work with binary sensors, and a graph card requires numeric data.
How to Determine Supported Entities:
- Official Home Assistant documentation.
- UI Editor: When adding a card, unsupported entities won't appear as selectable.
Adding a card (point-and-click method)
- Open the dashboard you want to edit and click ⋮ → Edit dashboard.
- Choose the view (tab) you want, then press the blue Add card + button in the bottom-right corner.
- Decide how you want Home Assistant to help:
- By card type – scroll the gallery and pick the design first.
- By entity – tick one or more entities and let HA suggest matching cards.
Tip – you can also start on a device page and hit "Add to Dashboard" to drop in ready-made cards for that device.
Built-in card types (2025)
Device- or service-specific
- Alarm Panel – arm/disarm your security system.
- Light – colour, brightness and toggle in one place.
- Humidifier
- Thermostat – classic round dial.
- Plant Status – moisture, brightness & battery at a glance.
- Media Control – artwork, volume and transport buttons.
- Weather Forecast
- To-do List
- Map – live tracker locations or zones.
- Logbook – recent events for selected entities.
- Calendar
- Clock (new in 2025.4) – digital/analog, any timezone.
Control-focused
- Button – single entity action.
- Entity – shows state and lets you open the more-info dialog.
- Tile – modern, responsive alternative to Button/Entity with optional "features" rows.
Generic data visualisation
- Sensor (large number with optional graph sparkline).
- History Graph
- Statistic & Statistics Graph
- Energy (flow diagram for electricity, gas and solar).
- Gauge (speedometer-style dial).
- Webpage (embed any iFrame).
- Markdown & Text cards
-
Markdown card – lets you write formatted text, lists, links, images, and even insert live entity values using simple Markdown formatting. Great for adding instructions, tips, or a custom info panel to your dashboard. You can use bold, italic, headings, code blocks, or even embed values from Home Assistant using
{{ states('sensor.xyz') }}style templates. - Text card – the simplest way to add plain text (no formatting, just a block of text) for headings, labels, or notes. Use this if you want something super basic and don't need any styling or variables.
- When to use which? If you just want to display a simple note, the Text card is fastest. For formatted text, checklists, clickable links, or showing live values (like "It's currently {{ states('sensor.temp') }}°C"), use the Markdown card.
-
What is Markdown? It's a super-simple way to add formatting to text. For example:
**Bold**for Bold,[Link](https://home-assistant.io)for Link, or- List itemfor a bullet point. The card shows you a preview as you type.
-
Markdown card – lets you write formatted text, lists, links, images, and even insert live entity values using simple Markdown formatting. Great for adding instructions, tips, or a custom info panel to your dashboard. You can use bold, italic, headings, code blocks, or even embed values from Home Assistant using
Layout / grouping
- Vertical Stack
- Horizontal Stack
- Grid
Logic / dynamic
- Conditional – only show when conditions are met.
- Entity Filter – auto-build a list based on state.
Mixed display & control
- Area – quick overview of everything in a room.
- Picture Elements – overlay icons on a floorplan/image.
- Picture Glance – hero image with entity icons underneath.
- Picture – static image that acts as a link or tap-action.
That's the full list exposed in the "Add Card" dialog as of Home Assistant 2025.6. If a new core card appears in a later release, it will automatically show up there.
Mushroom – prettier cards from the community
Mushroom is a popular bundle of sleek, Material-inspired cards that drop straight into the normal editor (no YAML required). Everything ships through HACS, so updates are one-click.
Installing via HACS (once-off)
- In Home Assistant go to Settings → Add-ons → HACS → Download if you haven't installed it yet.
- Open HACS → Frontend → Search and type "Mushroom".
- Click Download, wait for it to finish, and Reload your browser/dashboard.
Mushroom card lineup
After install you'll find a new Mushroom section in the card picker with:
- Entity, Light, Fan, Climate, Cover, Alarm, Media, Person & Vacuum cards
- Template card (like Markdown but with Jinja-style templates)
- Update card (for HA or add-on updates)
- Chips card (tiny pill-shaped quick-actions)
- Title card (section headers)
All Mushroom cards share the same style controls (color, icon, shape) and are fully configurable from the GUI.
Beyond Mushroom – more gems in HACS
HACS hosts hundreds of custom cards – perfect when you need a niche graph or advanced formatting:
- Button-card – ultra-customisable buttons with templated CSS.
- Mini-graph-card – compact, highly configurable line graphs.
- Entity-progress (bar) card – beautiful percentage bars that match Tile/Mushroom styling.
- Bubble / Streamline cards – modern dashboards with animated bubbles.
- Header cards – place chips or badges in the view header.
Installing any custom card follows the same pattern as Mushroom: find it in HACS → Frontend, download, then refresh your dashboard. From that moment it behaves just like a core card.
Combining Features from Different Cards: What's Possible & What's Not
Home Assistant Lovelace cards are designed to fulfill specific roles, which means you generally can't directly copy features from one card type into another. This limitation exists because:
- Different Card Purposes: Cards are specialized - graph cards handle numeric data visually, while entity cards manage and display states and attributes.
- Entity Type Restrictions: Not all entity types are compatible across cards. A thermostat card, for example, expects specific HVAC-related entities and attributes, and thus won't handle unrelated binary sensors.
- Internal Card Logic: Cards have predefined behaviors and data handling logic coded into their design, preventing arbitrary mixing and matching.
Workarounds and Alternatives:
- Stack Cards:
- Vertical Stack: Cards stacked top-to-bottom.
- Horizontal Stack: Cards aligned side-by-side.
Example:
type: vertical-stack cards: - type: entities entities: - sensor.temperature - sensor.humidity - type: history-graph entities: - sensor.temperature - Template Sensors: Create new, calculated entities if needed for compatibility. Defined in YAML under configuration.yaml or via the UI.
Example:
sensor: - platform: template sensors: temperature_fahrenheit: value_template: "{{ (states('sensor.temperature_celsius') | float * 9/5) + 32 }}" unit_of_measurement: "°F"
Next steps
Don't be afraid to experiment – Home Assistant makes it easy to rearrange, duplicate and delete cards. Once you're comfortable, dive into YAML mode or card-mod for fine-grained styling, or explore auto-generated dashboards like the new Areas Dashboard if you'd rather start with a ready-made layout.