Shopping List Card - A simple card for quick-adding items to any to-do list

Hey everyone,

I’ve been trying to perfect the “family shopping list” in Home Assistant for ages. We needed something simple for the kitchen dashboard and for our phones at the store. My old solution was a fragile mess of heavily modified Mushroom template cards and a script that I was afraid to even look at.

So, this past weekend, I decided to finally build a proper, standalone solution.

The result is the Shopping List Card.

It’s a simple button card that connects to any todo list. My favorite part is using it with the standard todo-list card at the grocery store. As we tick items off, the list gets shorter and easier to read, and we can easily see what was missing in the store for the next trip.

As I was building it, I realized it didn’t have to be just for shopping, so I added a full visual editor. You can customize the titles, icons, and colors for both the “on” and “off” states to use it for any kind of checklist.

I’m really happy with how it turned out and it’s already made our shopping trips so much smoother. I’m sharing it in the hope that it might help some of you solve the same problem. I’d love to hear what you think!

:rocket: Installation (HACS)

Use this link to directly go to the repository in HACS.

3 Likes

Hi all,

I’ve just released v1.3.0 of the Shopping List Card, now available in HACS.

This is a major stability update focused on overhauling the vertical layout based on user feedback.

Key Improvements:

  • :tada: The vertical layout is now rock-solid and stable. Content no longer shifts or moves around when you add subtitles or use the quantity controls.
  • :lady_beetle: Fixed several bugs.
  • :white_check_mark: Quantity controls are now fully functional and polished in the vertical view.

v2.0.0 is out - auto images, real-time updates, HA 2026.x fixes

Hey all, just shipped a big update to the shopping list card. Been iterating on it with my own dashboard for a while and finally pulled everything together into a 2.0 release.

Quick rundown of what’s new since 1.4:

Auto-derived images. You can now set image_base: /local/images/shopping-list/ and the card figures out the filename from the item title. Drop a bunch of apple.png, ice-cream.png, ice_cream.png, whatever naming style you prefer, and it’ll find them. It tries a few slug variants (dash, underscore, space, joined) so you don’t have to be precise about naming.

List prefix for category sorting. If you want your to-do list to stay grouped by category, you can set list_prefix: Dairy and the card will store items as "Dairy - Milk" on the list while still displaying just Milk on the card itself. This was inspired by the approach in this thread.

Real-time updates. The card now subscribes to to-do changes over WebSocket instead of polling hass state. A single subscription per entity is shared across every card on the dashboard, so a big grid of cards pointing at the same list doesn’t spawn a socket per card.

HA 2026.x compatibility. The recent ha-select rewrite broke the layout and hold-action dropdowns in the editor. Fixed.

Editor polish. Rebuilt with collapsible sections (Content / Layout & Display / Icons & Colors / Behavior), native image upload via ha-picture-upload, color swatches, proper icon picker.

Other stuff: hold_action (remove, more-info, or nothing), haptic feedback, quantity_step and quantity_max, show_name: false for icon-only cards, theme-aware colors with safe fallbacks. No breaking changes, your existing YAML keeps working.

Example: auto-generated categorized grid

Since a few folks asked how I drive a whole shopping dashboard off a single file, I added an example folder: ha-shopping-list-card/examples/auto-generated-grid at main · eyalgal/ha-shopping-list-card · GitHub

The short version: a JSON file in /config/ defines categories and items, a command_line sensor exposes each category as an attribute, and an auto-entities + layout-card template renders one grid per non-empty category. Edit the JSON, reload the sensor, dashboard rebuilds itself. Needs layout-card and auto-entities from HACS alongside this card.

Links

Feedback, bug reports, and feature requests welcome. Especially curious if the multi-slug image fallback covers everyone’s naming conventions or if I need to add more variants.