Features
Every Tabdeck feature is opt-in / configurable — turn things on or off to taste. This page indexes the optional features and links to a dedicated page for each.
This list grows over time. Each feature below has its own page with a description, config key, examples, and screenshots.
Tab bar appearance
- Expanding side rail — icons-only side bar that shows labels on hover/focus, over the content (
rail_expand). - Pagination dots & content arrows —
tab_display: dots; ‹ › arrows beside the content (content_arrows). - Dock & floating action tabs — phone-style bottom navigation pinned to the screen (
dock); raised round action buttons (fab). - Tab display mode — show icons, labels, both, or icons with the selected tab expanded (
tab_display). - Responsive layouts — side-by-side
splitview on wide cards;tab_display_narrowon narrow ones. - Accent-coloured indicator — indicator adopts the selected tab's accent (
accent_indicator). - Extra bar styles —
boxed,text,railstyles +indicator_radius. - Indicator thickness — set the underline bar thickness (
indicator_size). - Sticky tab bar — keep the bar pinned while content scrolls (
sticky). - Tab alignment — start / center / end / justify the tabs (
align). - Bar background & elevation — custom bar colour + shadow (
bar_background,elevation). - Scroll buttons & overflow menu — arrows (
scroll_buttons) or a ⋯ jump-to-tab menu (overflow_menu).
Per-tab content
- State-driven icons, names & colours —
icon/name/subtitle/color/accentas live Jinja templates. - Per-tab text/icon colour — fixed label/icon colour for a tab (
color). - Badge display mode — text or dot badges (
badge_display). - Numeric badge formatting — precision, unit and
99+caps (badge_format). - Hide inactive badges — hide 0/off badges (
hide_inactive_badge). - Per-tab badge colour — colour a tab's badge (
badge_color). - Multiple cards per tab — stack several cards in one tab (
cards). - Nested decks — a tab's card can be another Tabdeck card (sub-tabs).
- Disabled tabs — show a tab greyed-out and non-selectable (
disabled). - Tab subtitles — secondary text under a tab label (
subtitle). - Content header — show the active tab's title above the content (
header); icon-rail recipe. - Masonry inside a tab — balance a tab's cards into columns (
layout: masonry). - Sections inside a tab — titled groups of cards like HA's sections view (
layout: sections). - Header & footer cards — cards shown on every tab (
header_cards,footer_cards). - Tab backgrounds — colour, gradient or image behind a tab's content, may be a template (
background). - Content height — keep the tallest tab's height or scroll inside (
content_height,content_max_height). - Full screen — open the active tab over the whole window (
fullscreen).
Navigation & interaction
- Arrange tabs — each person reorders and hides tabs for themselves, saved per browser (
customize). - Back button — tab switches become history entries; Back returns to the previous tab (
history). - Search & keyboard shortcuts — 🔍 quick-switch filter (
search); 1–9, [ ], / shortcuts (hotkeys). - Grouped tabs —
children:as a second-level row or a ▾ dropdown menu (children_display);hide_bar;selectTab()API andtabdeck-tab-changedevent. - Collapsible deck — tap the active tab to fold the content away (
collapsible,start_collapsed). - Scroll-spy (anchor mode) — stack every tab as a section; the bar scrolls to and tracks sections (
scroll_spy). - Panel transitions — fade, slide, scale, flip or rise when switching tabs, with your own duration and easing (
transition). - Swipe peek — the content follows the finger and the next tab slides in (
swipe_peek). - Navigation & action tabs — a tab that navigates / runs an action instead of opening a panel (
tap_action). - Tab-change actions — run an action when a tab opens or closes (
enter_action,leave_action). - Tab & badge actions — long-press tab (
hold_action) and clickable badge (badge_action). - Auto-rotate & idle return — cycle tabs on a timer (
auto_rotate) or return to the default when idle (idle_return). - Performance & swipe options —
unmount_hidden,unload_after(free tabs unused for N minutes),swipe_wrap,swipe_mouse(desktop drag).
Dynamic behaviour
- Dynamic tabs — generate a tab per item from a live Jinja list (
auto_tabs). - A tab per area / floor / label / domain / device / list / calendar / camera / zone —
auto_tabs: { source: areas }, no Jinja needed, with fitting default cards. - Auto content — a tab with
area/floor/labeland no card shows tiles of its entities. - Count badges, badge icons & progress rings —
badge: { count: light.*, state: on },badge_icon,ring. - Alerting tabs first & snooze —
alert_first, long-press to snooze (alert_snooze). - Remote control & events — automations switch tabs (
remote_entity,remote_event), HA hears tab changes (fire_event), defaults by time and device. - PIN-locked tabs — ask for a code before a tab opens (
pin; a convenience lock, not security). - Visibility and/or/not groups — nestable logical conditions for tab visibility.
- Alert pulse — a tab pulses while its conditions are met (
alert). - Auto-select a tab — switch tab when an entity becomes active (
auto_select). - Time & user visibility — show tabs by time-of-day/weekday or HA user.
- Conditional default tab — pick the starting tab by state (
default_if).
Editor
- Languages — editor and card text in English, German, Spanish, French, Italian, Dutch, Polish and Portuguese, following your HA language.
- Convert from another card — paste a tabbed-card, swipe-card, state-switch, stack, Bubble pop-ups, sections view or dashboard and get tabs.
- Starter templates — one-click Rooms / Lights / Security / Media / Climate / Energy / Family decks built from your entities.
- Why is this tab hidden? — live ✅/❌ check of every visibility / alert / default condition, with current values.
- Edit mode helpers — hidden tabs appear faded while editing the dashboard; rotation pauses (
edit_mode_reveal). - Copy & import tabs — copy a tab to the clipboard and import tabs into another deck.
- Duplicate tab — one-click deep copy of a tab in the editor.
- Expand all / Collapse all — bulk-toggle tab blocks; new tabs auto-expand.
- Drag-to-reorder & warnings — drag tabs to reorder; duplicate-name warnings.
- Condition builders — edit Visibility / Alert / Default-when conditions with HA's native builder.
- Live preview — the editor previews the bar as you edit.
Theming
- Style presets — one-line looks:
ios,material,glass,minimal,rail(preset). - Theming & styles passthrough — set CSS variables from config (
styles). - Per-tab styles —
styleson a tab, applied while it's active.
See Configuration for the complete option reference.
Persistence
- Remember across devices — store the active tab in an entity (
remember: entity). - Custom storage key — independent browser persistence (
storage_key).