What it is
button-card is a custom Lovelace card for Home Assistant. It presents entities as configurable buttons and supports many options for appearance, actions, and state display. It lives in the Home Assistant ecosystem, specifically the Lovelace UI, and is distributed as a community custom card with stable and development releases.
The project solves a practical dashboard problem: standard cards may not provide enough control over how an entity is displayed or how a touch interaction behaves. button-card lets dashboard authors define taps, holds, double clicks, icon taps, colors, icons, layouts, labels, and custom state definitions. It also supports actions that call services, navigate, open URLs, show more-info, toggle entities, use assist, or run JavaScript templates.
Key capabilities
- It works with any entity and can display optional state text, custom icons, and custom sizes for icon, width, and height.
- It supports tap, hold, and double click actions with none, toggle, more-info, navigate, url, assist, and call-service.
- It provides separate icon tap actions, momentary press_action and release_action behaviors, and custom actions for javascript, multi-actions, and toast.
- It supports custom colors, light RGB or temperature based colors, icon and card color types, automatic font color for card color, and custom CSS style.
- It supports JavaScript templates, custom state definitions, multiple layouts, custom layouts, aspect ratio support, and redefined or hidden sensor units.
- It includes blank cards, label cards, blink animation, icon rotation animation, confirmation popups, password or PIN protection, and haptic support for the Home Assistant iOS companion app.
- It supports HACS installation and has stable and development documentation links.
Who uses it and how
- Home Assistant users add it to Lovelace dashboards to display entities as buttons.
- Users assign toggle, call-service, navigate, URL, or assist actions to tap, hold, or double click.
- Dashboard authors use blank cards, label cards, custom layouts, and CSS to organize dashboards.
- Advanced users use JavaScript templates, custom state definitions, and multi-actions to change icon, color, text, or behavior based on entity state.
- Users protect sensitive actions with confirmation popups, password or PIN protection, and haptic feedback on supported iOS devices.
Getting started
Install it through HACS as a custom card, then add it to a Lovelace dashboard and configure it. Use the stable documentation for normal use and the development documentation for beta behavior.
When to use it — and when not to
Use button-card when a Home Assistant dashboard needs customized entity buttons and actions beyond basic Lovelace cards. Avoid it when simplicity matters, because many options, JavaScript templates, and custom CSS can increase maintenance. It depends on Home Assistant and custom card installation.