Card Builder: Build Your Card, Visually!

The definitive Home Assistant custom integration for building fully custom, dynamic dashboard cards — entirely through a visual drag-and-drop interface. No YAML, no code, just design.

card_builder

What is Card Builder?

Card Builder is a Home Assistant custom integration that provides two core capabilities:

  1. Card Builder — A full-featured visual editor (custom panel) where you design cards using drag-and-drop blocks, configure properties, apply styles, and bind data to your entities.
  2. Card Renderer — A custom Lovelace card (custom:card-builder-renderer-card) that renders your designed cards in any Home Assistant dashboard, with live entity data and full interactivity.

Key Features

Visual Drag-and-Drop Builder

Design your cards in a dedicated full-screen builder with a central canvas and configurable sidebars. Drag blocks from the palette, arrange them visually, and see your changes in real time.

Modular Block System

Cards are composed of individual blocks that can be nested, moved, and customized.

Smart Entity Binding

Every block can be connected to Home Assistant entities. The entity inheritance system lets you set an entity once at the card level and have it automatically flow down to all child blocks — no need to repeat configuration.

Reusable Cards with Entity Slots

Define entity slots in your card to turn it into a reusable template. When you place the card in a dashboard, you simply pick which entity to use for each slot. Update the card design once, and every instance updates automatically.

Full CSS Styling Control

Every block exposes the full spectrum of CSS styling properties — typography, colors, backgrounds, borders, spacing, effects, and more. Blocks with sub-components (like Entity State with its value and unit) allow independent styling of each part through style targets.

Dynamic Style Binding

Go beyond static values — bind any style property to entity state. Five binding modes are available: Direct (with range mapping), Map, Threshold, Condition (with logical operators), and Template. Make a background change color based on temperature, adjust opacity based on brightness, and much more.

Configurable Actions

Assign actions to blocks and their sub-components using tap, double tap, and hold triggers. Supported actions include toggle, call service / perform action, navigate, more info, open URL, and more. Actions are defined through action slots and can be configured at the dashboard level for maximum reusability.

Visual Entity Links

Draw SVG connection lines between blocks with the Link block — a special block created via the header bar toggle. Links support multi-point paths with line and Bézier curve segments, point anchoring to other blocks, and animated particle flow driven by entity state. Ideal for energy flow diagrams, system topologies, and any card that needs to visualize relationships between entities.

5 Likes

cool idea.
are there any examples to import for reference?
Thanks

1 Like

Not yet, i’m working on the community platform to share cards… Stay tuned.

1 Like

This sounds like just my thing! Is the renderer resources heavy in the dashboard?

Theoretically no. In the dashboard, the card updates only when one of the entities it uses changes state. It’s not fully optimized yet, but it shouldn’t have such a heavy impact.

Hi, this look really PROMISING!! Been waiting (no own coding knowledge) for something that is simpler than the YAML and mushroom cards. Question, is it possible to e.g. create a left panel that stay the same all through usage and right part of screen changes eg between rooms by pressing “room buttons” in the left panel?

I have installed the Card Builder integration via HACS as described on GitHub. I am able to work with it and create cards. However, the custom card ‘card-builder-renderer-card’ was not installed. What can I do?

Hi @peterb-ART-h,
the card should be installed automatically by the custom integration.

Can you please open your browser console, do a refresh of the HA dashboard and check for errors? In the log messages you should also find this when the card is correctly loaded by the frontend:

Which is the HA version?

Hi @danlun,
thank you for the feedback. Yes, what you are looking for should be possible, but not with the current blocks available. Local controls (blocks that changes the card appearance) are not available at the moment, but will be implemented in future releases.

1 Like