mrkeyoor.com_
Sun 20 Sept 15:50 UTC
Self-Hostedevaluationupdated 20 Sept 2026

Bubble-Card review

Bubble Card is a set of Home Assistant dashboard cards for lights, climate controls, media players, calendars, covers, pop-ups, and navigation. It gives people a consistent mobile-friendly interface without forcing them to assemble every control from unrelated custom cards.

Verdict

Our Bubble Card run installed 354 packages in 6 seconds and passed all 1,482 Jest tests in 10 seconds, making it an easy recommendation for Home Assistant users who will test their actual dashboard devices. Start with the built-in cards and HACS installation, then add modules only after reading their code. Choose a narrower alternative if you want native-looking controls with less custom JavaScript or if one device-specific layout bug can break the household dashboard.

We ran it

Lab card: what happened when we ran Bubble-CardScreenshot of Bubble-Card (github.com/Clooos/Bubble-Card)
Install✓ · 6s354 packages · 63 MB
Buildn/ano build script
Tests✓ · 10s1482 passed · 0 failed of 1482 (jest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo410 files~77,714 lines of source · 26.3 MB · 2 CI workflows

Answers from our run

Does Bubble-Card build from source?

Dependencies installed in 6 seconds (354 packages), and the project has no separate build step. We cloned commit 9060893 into a clean Debian container with 3 CPUs and no project-specific setup.

Do Bubble-Card's tests pass?

Yes: 1482 of 1482 passed when we ran the project's own test command (jest). Some failures need services or credentials a bare container does not have.

Does Bubble-Card have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use Bubble-Card?

Home Assistant installations older than 2023.9.0, which the README names as the lowest supported version.

What are the alternatives to Bubble-Card?

Mushroom, Button Card. Our Bubble Card run installed 354 packages in 6 seconds and passed all 1,482 Jest tests in 10 seconds, making it an easy recommendation for Home Assistant users who will test their actual dashboard devices.

Setup4/5HACS is simple; manual installs need resource and cache work
Docs5/5Every card, action, layout, template, and module path is covered
Community5/54,579 stars, active reports, and a September 2026 release
Maturity4/51,482 tests passed; device-specific layout reports remain

Who it’s for

Home Assistant users who want one visual system for controls, pop-ups, and dashboard navigation.
HACS users who prefer editing cards through Home Assistant's interface but still want a YAML escape hatch.
Dashboard builders prepared to test layouts on the phones, tablets, and browsers used in the home.
Advanced users who can review CSS and JavaScript before installing community modules.

Who it’s NOT for

Home Assistant installations older than 2023.9.0, which the README names as the lowest supported version.
People who want only built-in Home Assistant cards and no custom frontend resource, cache refreshes, or HACS dependency.
Users expecting the Module Store to be a curated security boundary: shared modules can contain CSS and JavaScript and become available after a GitHub Discussion is refreshed.
Dashboards that require exact footer sizing on iPhone portrait today: open issue 2620 reports that a 300px footer width is ignored in that orientation on Bubble Card 3.4.0.

Setup reality

Our sandbox installed 354 packages in 6 seconds and used 63 MB. There was no build target, so we skipped that step. Jest then passed all 1,482 tests in 10 seconds, with 0 failures, and npm audit reported 0 known vulnerabilities.

For normal use, Home Assistant 2023.9.0 or newer is required. HACS is the recommended install. The manual route copies bubble-card.js, registers it as a dashboard JavaScript resource, and may require cache clearing after updates.

The basic cards do not need a separate server. The Module Editor and Store use the Bubble Card Tools integration as the recommended storage backend from v3.1.0 onward. Custom modules may execute user-supplied CSS and JavaScript in the dashboard, so each one deserves a code review.

Pop-ups give the collection a purpose beyond prettier buttons

Bubble Card puts common Home Assistant controls and navigation into one rounded visual family. The distinctive piece is its pop-up card. A dashboard link or entity state can open a panel containing other cards, and version 3.2.0 introduced a standalone format with those cards nested directly in the pop-up configuration. A phone dashboard can stay compact without hiding whole rooms behind separate views.

This is a large frontend project, not a theme file. Our measured checkout contained 410 files and about 77,714 lines of source across 26.3 MB. Bubble Card handles actions, conditions, editing, localization, templates, responsive layouts, and state updates inside the browser. Reproducing a polished screenshot can take real configuration work.

HACS removes the ten-step manual resource setup

The README recommends HACS, where Bubble Card appears as a downloadable frontend package and then in Home Assistant's card picker. The manual route has 10 numbered steps: copy bubble-card.js into the configuration's www directory, register /local/bubble-card.js?v=1 as a JavaScript module, refresh the dashboard, and change the query version after later file updates. Home Assistant 2023.9.0 is the documented minimum.

Our npm install took 6 seconds and added 354 packages, but HACS users do not run that developer install. The lab result tells contributors and auditors that the checked commit's dependency setup is modest. It does not replace a Home Assistant trial. Test updates, the companion app, desktop browsers, wall tablets, and cache behavior on the devices that control the home.

What happened when we ran it

Our unprivileged Node 22 sandbox installed commit 9060893 in 6 seconds with 3 CPUs and 8 GB of RAM. The 354 installed packages occupied 63 MB. Npm audit found 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low. The repository had 2 CI workflow files, no Dockerfile, and no tests directory despite exposing a working Jest target.

There was no build script or target, so the lab skipped the build. The test command completed in 10 seconds: Jest reported 1,482 passed and 0 failed out of 1,482. That is unusually strong evidence for a Home Assistant dashboard extension. It covers commit 9060893, not every phone layout, community module, Home Assistant release, or user-written template.

The editor covers common cards, while templates expose sharp edges

Every documented card can be configured in Home Assistant's editor, with YAML available for precise control. Conditions follow Home Assistant's card syntax, including state, time, user, location, and template checks. Since Home Assistant 2026.6, the entity picker can suggest recipes based on an entity's capabilities. A dimmable light can receive slider variants, while a cover without tilt support will not be offered a tilt control.

Advanced styling goes far beyond the 1,482 passing tests because users can supply their own code. Bubble Card accepts CSS, server-rendered Jinja, and JavaScript template expressions. The README tells users to inspect the browser console for JavaScript-template errors and notes that some CSS rules may need !important. In a shared home, a copied snippet can make an important control unreadable or unclickable after an update.

Community modules run CSS and JavaScript in the dashboard

The integrated Module Store advertises more than 100 community-made modules. From v3.1.0, Bubble Card Tools is the recommended storage backend, with modules saved as separate YAML files. A module can change styles, run JavaScript templates, add editor fields, generate entity suggestions, or apply itself globally across every Bubble Card. Unsupported modules can be enabled manually for testing.

Store publication is quick: a creator pastes an exported module into a GitHub Discussion, includes a screenshot, and the module becomes available after a store refresh. That is a distribution mechanism, not a security review. Our npm audit found 0 advisories in the 354 installed project packages, but it says nothing about code obtained later. Read the module, export backups, and trial it on one card before granting global status.

Version 3.4.0 is active, with an iPhone footer report still open

GitHub recorded 4,579 stars, 31 combined open issues and pull requests, and a last push on September 18, 2026. Release 3.4.0 shipped the same day with Jinja templates, entity suggestions, performance work, new climate-device support, and many fixes. Recent reports include maintainer responses and submitted tests. The open count includes pull requests as well as bugs.

One current report is concrete enough to test. Issue 2620 says footer_width: 300 is ignored by a Sub-Buttons Only card on an iPhone held in portrait, while horizontal orientation works. The report names Bubble Card 3.4.0 and Home Assistant 2026.9.3. A 1,482-test pass does not contradict it, because browser geometry and device orientation need separate checks.

Mushroom is easier, while Button Card starts from a blanker canvas

Mushroom is the calmer choice for entity-specific cards, visual editors, and light and dark themes. Its README says deep customization is not the goal. Button Card goes the other direction with a single entity card that exposes extensive actions, layouts, CSS, and JavaScript templates. Bubble Card sits between them by supplying a coherent collection while leaving deep customization available.

Our 10-second test run and 0 reported advisories make the core package a credible choice. Install through HACS, build one room, and check every action on the smallest phone and oldest wall tablet in use. Keep community modules out until the basic cards are stable. A smart-home control that looks excellent but misses taps in portrait mode is worse than a plain one everyone can operate.

Alternatives

ProjectWhat it isPick it when
MushroomA Home Assistant card collection focused on easy visual editing and zero extra card dependencies.pick this instead when simple UI configuration and familiar entity-specific cards matter more than pop-ups or deep CSS and JavaScript customization.
Button CardA highly configurable single-card system for entities, actions, layouts, and JavaScript templates.pick this instead when you want to construct a custom control system around one flexible card rather than adopt Bubble Card's visual family.

What people are saying

  1. [github-trending] Clooos/Bubble-Card

Sources

  1. Bubble Card repository
  2. Bubble Card README
  3. Bubble Card v3.4.0 release
  4. Issue 2620: footer width ignored in iPhone portrait
  5. Mushroom
  6. Button Card

More self-hosted reviews

iptv · ace-step-ui · alist · tunnel-client · karmada · OpenStock · the whole board →