Certificate Card
SSL/TLS certificates sorted by expiry, with a few DNS checks.
Cards to keep an eye on your SSL/TLS certificates: which one expires next, how many days are left, which ones are expired or invalid, plus DNS checks. Certificate Expiry and DNS IP sensors are found on their own.
Highlights
- Every Certificate Expiry sensor found automatically
- Certificates sorted by expiry, with the days left as a badge and a bar
- Thresholds in orange and red, expired and invalid certificates with their error
- Optional DNS checks: DNS IP and Ping
- Only certificates needing attention, if you prefer
- Mini card with a detail button showing the full card
Works with
Cards
type: custom:certificate-cardInstall
- 1Open the repository in the Marketplace with the Add to Marketplace button above, or add
github.com/juju35/ha-certificate-cardas a custom repository (category Dashboard). - 2Download it from the Marketplace.
- 3Reload the browser and add the card from the dashboard editor.
Gallery 8
Documentation
From the README Features
Features
- Two cards: a full Certificate Card and a compact Certificate Mini Card
- Automatic discovery of every Certificate Expiry sensor; pick, rename or hide certificates if you prefer
- Certificates sorted by expiry, soonest first, each with its expiry date, the days left as a badge and a bar (full bar: 90 days, the lifetime of a Let's Encrypt certificate)
- Configurable thresholds: orange under 30 days, red under 7 days by default; expired and invalid certificates in red, with the error the integration reports (hostname mismatch…)
- Valid / expiring / expired counters, and an "only certificates needing attention" mode
- Header status: All valid, Expiring soon, Expired, Invalid or DNS issue, and the next expiry (Next expiry in 4 days)
- Optional DNS checks, in a section that folds and unfolds: DNS IP sensors (resolved or not, with the address) and Ping or other connectivity binary sensors (reachable or not)
- Click any row to open its Home Assistant history (more-info dialog)
- Detail button at the top right of the mini card: it switches to the full card and back; a click anywhere outside the card brings the compact view back
- The days left stay up to date: the card checks them every minute
- Visual editor in the dashboard UI for both cards (no YAML needed)
- Light and dark mode; English, French, German, Spanish, Serbian (Cyrillic and Latin), Italian, Dutch, European Portuguese, Polish, Romanian, Danish, Swedish, Bulgarian, Russian, Ukrainian, Hungarian, Slovak, Czech, Slovenian, Latvian and Greek
- Single file, no external dependency
Supported integrations
Supported integrations
| Integration | What the cards show |
|---|---|
| Certificate Expiry (built in) | One row per certificate: host name, expiry date, days left, valid / expiring / expired / invalid with its error. Found automatically through the entity registry |
| DNS IP (built in) | One DNS check per sensor: the resolved address, or Not resolved. Found automatically through the entity registry |
| Ping (built in), or any connectivity binary sensor | One DNS check per entity: Reachable or Unreachable. Listed by hand with dns_entities (a Ping sensor often tracks a phone or a computer, not a server) |
Any other timestamp sensor holding an expiry date (a domain expiry sensor, say) can be listed with entities, and so can a sensor holding a number of days left.
Prerequisites
Prerequisites
Home Assistant 2024.8 or later, and the Certificate Expiry integration set up for each host to watch (Settings → Devices & services → Add integration → Certificate Expiry: host and port). The DNS checks need the DNS IP integration for each host name, or Ping sensors.
Configuration
Configuration
Visual editor#
Edit a dashboard, click Add card and search for Certificate Card or Certificate Mini Card. Every Certificate Expiry sensor is listed by default; pick some of them, hide others, set the thresholds, choose the sections to display and the language. The preview updates live, and options left at their default are kept out of the generated YAML.
Minimal#
type: custom:certificate-card
type: custom:certificate-mini-card
Full options#
type: custom:certificate-card
title: Certificates
entities:
- sensor.home_example_org_cert_expiry
- entity: sensor.vpn_example_net_cert_expiry
name: VPN
exclude:
- sensor.old_example_com_cert_expiry
warning_days: 30
critical_days: 7
show_counts: true
show_date: true
only_problems: false
show_dns: true
dns_entities:
- sensor.home_example_org_ipv4
- binary_sensor.gateway
expand_dns: false
language: fr
type: custom:certificate-mini-card
max_items: 3
warning_days: 30
critical_days: 7
show_dns: true
zoom: true
language: fr
Options reference#
| Option | Card | Default | Description |
|---|---|---|---|
title |
both | Certificates | Card title |
show_title |
both | true |
Show the title in the header (e.g. false under a section heading of your own) |
show_subtitle |
both | true |
Show the next expiry under the title |
entities |
both | Every Certificate Expiry sensor | Certificates to list: entity ids, or entity / name pairs to rename a row. A timestamp sensor gives the expiry date, a numeric sensor the days left |
exclude |
both | — | Certificates to hide (with automatic discovery) |
warning_days |
both | 30 |
Days left under which a certificate turns orange |
critical_days |
both | 7 |
Days left under which a certificate turns red |
show_counts |
full | true |
Valid / expiring / expired counters |
show_date |
full | true |
Expiry date under each certificate (false: in 18 days instead) |
only_problems |
full | false |
Only list the certificates that are expiring soon, expired or invalid |
show_dns |
both | true |
DNS checks (shown when there is at least one) |
dns_entities |
both | Every DNS IP sensor | DNS checks to show: DNS IP sensors, Ping or other connectivity binary sensors; entity ids or entity / name pairs |
expand_dns |
full | false |
DNS checks expanded when the card loads (click the section title to fold / unfold) |
max_items |
mini | 3 |
Number of certificates listed, the soonest to expire first |
zoom |
mini | true |
Detail button at the top right: switches to the full card and back (false removes it) |
language |
both | Auto | Force language: en, fr, de, es, sr, sr-Latn, it, nl, pt, pl, ro, da, sv, bg, ru, uk, hu, sk, cs, sl, lv or el (auto-detects from HA settings) |
How it works
How it works
The cards read the Home Assistant entity registry: every sensor of the Certificate Expiry integration (platform cert_expiry) is a certificate, every sensor of DNS IP (platform dnsip) a DNS check. Entity ids can therefore be in any language or renamed without breaking the cards. A row is named after its device — a Certificate Expiry device carries the host name — unless you give it a name.
A certificate's state is its expiry date. The days left are counted from now and checked every minute:
| Days left | Colour | Status |
|---|---|---|
warning_days (30) or more |
green | Valid |
under warning_days |
orange | Expiring soon |
under critical_days (7) |
red | Expiring soon |
| none left | red | Expired |
| any, but the integration reports the certificate invalid | red | Invalid, with its error |
The header shows the most urgent status: an expired certificate first, then an invalid one, one expiring soon, then a DNS check failing; a click on it opens that entity.
A DNS IP sensor holds the address the host name resolves to, and becomes unknown when it does not resolve: the card shows Not resolved in red. A binary sensor is Reachable when on, Unreachable when off.
Changelog
CHANGELOG.md 1.0.1Nov 13, 2026Latest
Fixes
- Folding back on a tap elsewhere now works on iOS (Safari and the companion app): a tap on something that is not clickable sent no click to the page, so the unfolded DNS section and the detailed view of the mini card stayed open. The press and the release are caught instead; a press in the card released outside of it and a scroll do not fold anything.
- Leaving the card (another dashboard view, a conditional card hidden) brings it back in its default state: sections folded as configured, mini card compact.
- Tests: the clock pinned by the tests now reaches the card, so that the days left they expect no longer depend on the time of day they run.
1.0.0Nov 13, 2026
Features
- Certificate Card (
custom:certificate-card): every SSL/TLS certificate monitored by the Certificate Expiry integration, sorted by expiry, with its expiry date, the days left as a badge and a bar, coloured against configurable thresholds (warning_days,critical_days); invalid certificates show their error. - Valid / expiring / expired counters, and an "only certificates needing attention" mode (
only_problems). - Optional DNS checks, in a section that folds and unfolds: DNS IP sensors (resolved or not, with the address) and connectivity binary sensors such as Ping (reachable or not).
- Certificate Mini Card (
custom:certificate-mini-card): the certificates expiring next, counters and DNS checks in a compact view, with a detail button switching to the full card and back. - Certificate Expiry and DNS IP sensors found automatically through the entity registry;
entities,excludeanddns_entitiesto pick them by hand. - Visual editor for both cards; light and dark themes; 22 languages, English in the bundle and every other language loaded on demand.