Universal Card System

Universal Card for Home Assistant

Advanced Lovelace card with 7 body modes, CSS Grid layout, 21 themes, and a visual editor.

Release Latest Modes 7 body modes Themes 21 presets Install HACS ready
Universal Card Demo

โœจ Features

Everything you need to build a polished Home Assistant dashboard

๐ŸŽญ

7 Body Modes

Expand, Modal, Fullscreen, Tabs, Carousel, Subview, and None for the right content flow in each card.

๐Ÿ“

CSS Grid Layout

Flexible grid layout with colspan, rowspan, custom columns, and responsive breakpoints.

๐ŸŽจ

21 Themes

From minimal dashboards to dramatic branded panels, with room for custom tuning.

โšก

Lazy Loading

Load heavy content only when needed and keep large dashboards responsive.

๐Ÿ‘๏ธ

Visibility Conditions

Show cards only when they matter: entity state, user, time window, or screen context.

๐Ÿช†

Nested Cards

Compose complex dashboard surfaces with nested cards and theme inheritance.

๐Ÿ‘†

Actions

Tap, hold, and double tap actions for compact control surfaces and drill-down flows.

๐ŸŽจ

Visual Editor

Configure major layout and badge options from Lovelace without hand-editing every field.

๐Ÿ“š Full Documentation

The Pages site now includes a full capability reference, real dark-theme renders, editor coverage, and a large YAML-backed examples gallery.

๐Ÿงญ

Feature Map

Full map of public capabilities: body modes, badges, header layout, loading, themes, footer, and editor support.

๐Ÿงช

Examples Gallery

Real Home Assistant screenshots and GIFs paired with copyable YAML for the main feature groups.

๐Ÿ—‚๏ธ

Capability Reference

Complete inventory of layout, actions, visibility, styling, runtime settings, and editor coverage.

๐Ÿงฑ

YAML Block Reference

Block-by-block configuration reference for root shell, header, badges, body modes, styling, actions, and runtime.

๐Ÿงพ

Field Matrix

Quick lookup by field group, editor coverage, and the best documentation entry point for each area.

๐Ÿงฎ

Grid Layout

Detailed guide for columns, gaps, spans, and nested-card composition.

๐Ÿฆถ

Footer

Footer text, supporting cards, action rows, and secondary control surfaces.

๐Ÿ‘๏ธ

Visibility

Card-level, section-level, and badge-level visibility rules.

๐Ÿ•น๏ธ

Actions And Gestures

Tap, hold, double tap, context menus, footer actions, and swipe navigation.

๐Ÿ—บ๏ธ

Recipes by Use Case

Ready recipes for real dashboard scenarios: climate, security, media, wall panel, mobile, and admin tools.

๐ŸŽ›๏ธ

Custom CSS Recipes

Ready snippets for precise restyling of the card shell, header, badges, tabs, modal, fullscreen, and footer.

๐ŸŽจ

Theming Guide

When to use theme, icon color, theme tokens, state styles, and when `custom_css` is the right tool.

๐Ÿงฌ

Selector Catalog

Official CSS hooks and stable selectors that are safe to target from `custom_css`.

๐Ÿ› ๏ธ

Editor Coverage

Dedicated editor page covering what is exposed in UI and what intentionally stays YAML-first.

โš™๏ธ

Configuration Guide

Configuration structure, card anatomy, and the shortest path from a minimal card to a production dashboard.

๐Ÿ”Ÿ Top Recipes

The most useful starting points, with direct jumps into examples and use-case pages.

๐ŸŽญ Body Modes

Seven ways to present card content depending on context

๐Ÿ“‚

Expand

Smooth inline expansion

๐ŸชŸ

Modal

Focused overlay window

๐Ÿ“บ

Fullscreen

Immersive full-screen mode

๐Ÿ“‘

Tabs

Tabbed content groups

๐ŸŽ 

Carousel

Slide-based navigation

๐Ÿ“„

Subview

Route-based detail view

๐Ÿท๏ธ

None

Header-only card shell

๐ŸŽจ 21 Theme Presets

Choose a visual language that matches your dashboard

Universal Card Themes

๐Ÿ’ป Code Examples

Start with copyable YAML in under a minute

lovelace.yaml
type: custom:universal-card
title: Lighting
subtitle: Living Room
icon: mdi:lightbulb-group
entity: light.living_room
body:
  cards:
    - type: light
      entity: light.living_room
    - type: light
      entity: light.bedroom

๐Ÿ“ฆ Installation

Choose the installation path that fits your setup

๐Ÿ“ Manual Install

  1. Download the latest package from GitHub Releases
  2. Copy universal-card.js and the lazy/ directory into /config/www/universal-card/
  3. Add the Lovelace resource:
    /local/universal-card/universal-card.js (module)
  4. Refresh the page and clear browser cache if needed