Markdown Card shows table borders in 2025.12 where it didn't in 2025.11
Checklist
- [x] I have updated to the latest available Home Assistant version.
- [x] I have cleared the cache of my browser.
- [x] I have tried a different browser to see if it is related to my browser.
- [ ] I have tried reproducing the issue in safe mode to rule out problems with unsupported custom resources.
Describe the issue you are experiencing
In Firefox, Brave and on iOS borders of a table are shown, where they where not in the past.
Code that did not show borders in 2025.11:
<Table align=center width=100%>
<TR><TD colspan="4"><ha-icon icon="mdi:wifi-lock"></ha-icon> Guest WiFi</TD></TR>
<TR><TD width=50></TD><TH width="70">Network</TH><TH width="100">Username</TH><TH width="100">Password</TH></TR>
<TR><TD></TD><TD Align=center>MyWiFi</TD><TD Align=center>Guest</TD><TD Align=center>GuestPassword</TD></TR></table><br>
Tried using code to make borders invisible in 2025.12:
<Table align=center width=100% style="border: none;">
<TR style="border: none;"><TD colspan="4"><ha-icon icon="mdi:wifi-lock"></ha-icon> Guest WiFi</TD></TR>
<TR style="border: none;"><TD width=50></TD><TH width="70">Network</TH><TH width="100">Username</TH><TH width="100">Password</TH></TR>
<TR style="border: none;"><TD></TD><TD Align=center>MyWiFi</TD><TD Align=center>Guest</TD><TD Align=center>GuestPassword</TD></TR></table><br>
and
<Table align=center width=100% border=0>
<TR border=0><TD colspan="4"><ha-icon icon="mdi:wifi-lock"></ha-icon> Guest WiFi</TD></TR>
<TR border=0><TD width=50></TD><TH width="70">Network</TH><TH width="100">Username</TH><TH width="100">Password</TH></TR>
<TR border=0><TD></TD><TD Align=center>MyWiFi</TD><TD Align=center>Guest</TD><TD Align=center>GuestPassword</TD></TR></table><br>
Describe the behavior you expected
The expected behavior is that the table is displayed like in the example above, but without the borders.
Steps to reproduce the issue
- Past the code in a markdown card
What version of Home Assistant Core has the issue?
2025.12.0
What was the last working version of Home Assistant Core?
2025.11.1
In which browser are you experiencing the issue?
Firefox 140.5.0esr (64-bit), Brave v1.85.111
Which operating system are you using to run this browser?
Debian 13
State of relevant entities
Problem-relevant frontend configuration
JavaScript errors shown in your browser console/inspector
Additional information
No response
This is a feature, not a bug. Tables should have borders
I disagree that tables should have borders, they are often used to align data. Borders are only used to add clarity when needed, borders around every cell creates clutter and can make for a complex UX.
Best UX practice for table borders is to use them minimally.
In addition, cell padding was added to th and td cells which cannot be changed with custom themes. Again, this can be create a bad UX. It worked just fine before and gave a good look and feel, it now looks busy and creates tables that can be difficult to read. A bad UX experience can be raised as an issue.
This is a feature, not a bug. Tables should have borders
That's one opinion. It is changed and not listed in the release notes, so based on my info it is a bug. For as far as I know/can find, there is no feature request either. If that's correct, it's an issue according to my definition list. If there is a request, I wonder whether ignoring style settings/syntax was a conscious choice/scenario that was taken into account.
Anyway, it's not my product.
If my memory serves me correctly, the initial change to the Markdown Card was to facilitate the response from an ASSIST query, requiring many changes to the original card. It was never tested properly and now users of the original card are left with a total mess to resolve.
Setting markdown-table-border-width: 0px in a theme has been advertised elsewhere as a way to hide the borders.
Unfortunately markdown-table-border-width does not remove the 0.25em padding that has been added. in ha-markdown.ts
td, th { border-width: var(--markdown-table-border-width, 1px); border-style: var(--markdown-table-border-style, solid); border-color: var(--markdown-table-border-color, var(--divider-color)); padding: 0.25em 0.5em; }
This padding means that tables that were carefully crafted to use the maximum width available, now no longer fit and wrap. I would argue this, for some, was a breaking change.
Just updated and ran into this bug... PLEASE fix
I temporarily solved the problem by converting my Markdown card to custom:html-template-card (found and installed by HACS). The code remains the same (it's just a matter of changing the first line of the card from "type: markdown" to "type: custom:html-template-card"), and I also have greater control over the HTML code, including the styling of each individual element (just like a good old-fashioned HTML page).
What I lose is the minimal visual editor for the Markdown card and sometimes I have to write HTML code in a single line, without line breaks and without indentation..... but I can live with this limitation.
I temporarily solved the problem by converting my Markdown card to custom:html-template-card (found and installed by HACS). The code remains the same (it's just a matter of changing the first line of the card from "type: markdown" to "type: custom:html-template-card"), and I also have greater control over the HTML code, including the styling of each individual element (just like a good old-fashioned HTML page).
What I lose is the minimal visual editor for the Markdown card and sometimes I have to write HTML code in a single line, without line breaks and without indentation..... but I can live with this limitation.
hard to find... "Lovelace HTML Jinja2 Template card" in HACS loads custom:html-template-card
but it did not fix any of mine, it does not let anything render at all now.
Using that "type: markdown" to "type: custom:html-template-card" fixes the problem but left a lot of space to the top of my card used in the dashboard
Just updated the Home Assistant to 2025.12.1 and it is working almost like before but still has border outlines.
Will try suppressing borders as mentioned above
Also seeing this error:
`Logger: homeassistant.helpers.event Source: helpers/template/init.py:463 First occurred: 6:09:01 PM (16 occurrences) Last logged: 6:09:02 PM
Error while processing template: Template<template=(
| Weeds | Value | Level |
|---|---|---|
| {{ weed.name }} | {{ weed.value }} | {{ weed.level }} |
| Weeds | Value | Level |
|---|---|---|
| {{ weed.name }} | {{ weed.value }} | {{ weed.level }} |
| Weeds | Value | Level |
|---|---|---|
| {{ weed.name }} | {{ weed.value }} | {{ weed.level }} |
| Weeds | Value | Level |
|---|---|---|
| {{ weed.name }} | {{ weed.value }} | {{ weed.level }} |
| Weeds | Value | Level |
|---|---|---|
| {{ weed.name }} | {{ weed.value }} | {{ weed.level }} |
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/template/init.py", line 579, in async_render_to_info render_info._result = self.async_render( # noqa: SLF001 ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ variables, strict=strict, log_fn=log_fn, **kwargs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/src/homeassistant/homeassistant/helpers/template/init.py", line 463, in async_render raise TemplateError(err) from err homeassistant.exceptions.TemplateError: TypeError: 'NoneType' object is not iterable`
If you use/can add card-mod it'll offer you much tighter control of your default cards.
This was suggested to me and worked to get rid of everything, when tagged to the end of a markdown card - but you can just use border:none if that's the only thing you want to change.
card_mod: style: | ha-card { background: none !important; box-shadow: none !important; border: none !important; padding: 0 !important; margin: 0 !important; }
It did not change anything, so something is not right
Setting
markdown-table-border-width: 0pxin a theme has been advertised elsewhere as a way to hide the borders.
This works (in 2025.12.1), but doesn't change my view on it being a bug.
Exact same bug here since exact same version.
Yeah, this is another "we're going to just change the visuals to annoy long time users" bug that'll never get fixed.
The custom-html-card doesn't work (nothing renders) and the card_mod suggestion doesn't work either - I can't seem to find the right CSS to target the goddamn borders. Thanks again Home Assistant Frontend devs, with your "we change stuff on whims because why not!"
Note that changing a style of elements inside Markdown is not a bug. If you do not like styling , you can use card-mod.
Except that doesn't work. It literally refuses to style the markdown card. There's an explicit td element in the markdown card and it seems impossible to target it with the card-mod styling. The example above doesn't work.
Inability (due to either cardmod limitations or user experience) to style a Markdown card by cardmod cannot justify those “this is a bug!” statements. As long as Markdown’s standards are fulfilled, we cannot blame HA.
So you're arguing that a long standing visual being "corrected" with no alternative is acceptable? I have literally had this card on my dashboard for 7 years. It has always (modulo the occasional templating bug) looked the same, and GOOD. Now, it looks like, well, rubbish. It appears the only way to make it look good again is by reverting to 2025.11. That does seem pretty bug like to me. Sure it's not "the thing is crashing" broken, but I'll be reverting to 2025.11 and I guess never updating again?
Please do not attribute me thoughts I did not express. The fact is Frontend can be changed in part of styles (like “default icons became bigger”) and I am not saying that this is good or bad. Suggest you to invest more time in card-mod tests, also you can ask in HA community.
OK. I spent some more time, and this actually works, with ha card-mod:
card_mod:
style: |
ha-card
{
--markdown-table-border-style: none;
}
You mean with card-mod 4. Have you tried with cardmod 3.x? Guess it will work without that prepand thing. Probably this is why your previous attempts failed.
The prepend is not necessary - that's a leftover of a previous attempt. I have updated my example. Also, yes, that's card-mod 4 - the one currently available in HACS.
Also, yes, that's card-mod 4 - the one currently available in HACS.
All versions are available in HACS, including “classic” 3.4.6. I asked you about 3.x since some old code do not work in 4.0 and needs alterations.
Anyway, good that you sorted things out!
OK. I spent some more time, and this actually works, with ha card-mod:
card_mod: style: | ha-card { --markdown-table-border-style: none; }
It completely fixed my problem also. Thank you
Edit using card-mod 4.1.0 - beta (4 or 5)
Let’s hope that this issue will be closed then.
Let’s hope that this issue will be closed then.
The bug is not fixed... A workaround does not negate the fact the bug was introduced in 2025.12.0
I have a dozen cards this affects, and by the looks of it there are many people this bug has hit. As they say in tech, for everyone 1 person that speaks up, there are 100 with the same issue that did not.
Not a bug as was stated several times.