Ultra Card is a modular card builder for Home Assistant Dashboard UI.
Ultra Card mission is to provide an easy-to-use visual editor to build custom Home Assistant dashboard cards.
- 🛠 Visual editor for all modules and options (no need to edit yaml)
- 🎨 Drag-and-drop interface for building layouts
- 🎯 4-tab module settings - General, Actions, Logic, and Design
- 🧩 12 module types for any dashboard need
- 🔧 Conditional logic - show/hide elements based on states, time, templates
- 🎭 Animation system - icons, bars, and hover effects
- 🌈 Professional design controls - typography, colors, spacing, borders
- 🌓 Light and dark theme support
- 🌎 Internationalization - 14 languages supported
- 📱 Mobile optimized - responsive layouts for all devices
The goal of Ultra Card is to make dashboard creation accessible to everyone through visual tools instead of YAML configuration.
Ultra Card is available in HACS (Home Assistant Community Store).
or
- Install HACS if you don't have it already
- Open HACS in Home Assistant
- Go to "Frontend"
- Click the menu (three dots) and select "Custom repositories"
- Add
https://github.com/WJDDesigns/Ultra-Card
as a "Lovelace" repository - Install "Ultra Card"
- Restart Home Assistant
- Download
ultra-card.js
file from the latest release. - Put
ultra-card.js
file into yourconfig/www
folder. - Add reference to
ultra-card.js
in Dashboard. There's two ways to do that:- Using UI: Settings → Dashboards → More Options icon → Resources → Add Resource → Set Url as
/local/ultra-card.js
→ Set Resource type asJavaScript Module
. Note: If you do not see the Resources menu, you will need to enable Advanced Mode in your User Profile - Using YAML: Add following code to
lovelace
section.resources: - url: /local/ultra-card.js type: module
- Using UI: Settings → Dashboards → More Options icon → Resources → Add Resource → Set Url as
All Ultra Card layouts can be configured using Dashboard UI editor.
- In Dashboard UI, click 3 dots in top right corner.
- Click Edit Dashboard.
- Click Plus button to add a new card.
- Find Custom: Ultra Card in the list.
- Use the Layout Builder tab to drag and drop modules.
Different modules are available for different content types:

- 📝 Text module
- 🖼️ Image module
- 🎯 Icon module
- 📊 Bar module
- ℹ️ Info module
- 🔘 Button module
- ➖ Separator module
- 📖 Markdown module
- 📹 Camera module
- 📈 Graphs module
↔️ Horizontal layout↕️ Vertical layout
Each module has 4 tabs for configuration:

- General - Module content and basic settings
- Actions - Tap, hold, and double-tap behaviors
- Logic - Conditional display rules
- Design - Typography, colors, spacing, animations
Ultra Card supports multiple languages:
🇺🇸 English • 🇩🇪 German • 🇫🇷 French • 🇪🇸 Spanish • 🇮🇹 Italian • 🇳🇱 Dutch • 🇳🇴 Norwegian • 🇩🇰 Danish • 🇨🇿 Czech • 🇵🇱 Polish • 🇸🇪 Swedish
We welcome translation contributions! See our Translation Guide for details on how to:
- Update existing translations
- Add new languages
- Test your translations
Quick start: Edit translation files directly on GitHub in src/translations/
and create a pull request.
- Discord: Join our Discord for help and discussion
- GitHub: Report issues or contribute code
- Support: Leave a tip if you find Ultra Card useful
We welcome contributions! Please see our contributing guidelines for more details.
MIT License - see LICENSE file for details.
Created by WJD Designs
Special thanks to our amazing Discord community for helping shape Ultra Card and making it what it is today:
BlowfishDiesel, Knucklehead Smiff, Martin / Korsiolsa, MoonRaven, mooseBringer, The_Cre8r, K1ngF1sher and many others.
Built for Home Assistant with ❤️