Convert to title case: title
The title filter converts a string to title case, where the first letter of each word is capitalized and the rest are lowered.
This is useful when you want to present text in a polished, headline-like format. For example, you might want to format a room name or deviceA device is a model representing a physical or logical unit that contains entities. name nicely for a notification or a dashboard display, turning values like living room light into Living Room Light.
Usage
Here’s how to use this template function. Copy any example and adjust it to your setup.
{{ "living room light" | title }}
Living Room Light
Function signature
The signature is a technical summary of this template function. It shows the name of the function, the values (called parameters) it accepts, and what type of data each parameter expects (for example, a piece of text or a number).
Function parameters that have a = with a value after them are optional. If you leave them out, the default value shown is used automatically. Function parameters without a default are required.
title(
value: str,
) -> str
Function parameters
The following parameters can be provided to this function.
Good to know
- Words are split on any non-letter character, so names like
"o'brien"become"O'Brien"and values with numbers may capitalize unexpectedly. - Every word is capitalized, including short words like “of”, “the”, and “in”. This is not the same as English title-case conventions.
Try it yourself
Ready to test this? Open Developer tools > Template, paste the example into the Template editor, and watch the result update on the right. Edit the values to see how the function adapts to your own entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more].
More examples
Real scenarios where this function comes up in automations and templates. Copy any example and adapt it to your setup.
Format an entity name for display
Turn a raw entity name into a nicely formatted title for a notification.
{{ "front door sensor" | title ~ " is active" }}
Front Door Sensor is active
Create a friendly room name
Format a room name for use in a dashboard card heading.
{{ "guest bedroom" | title }}
Guest Bedroom
Still stuck?
The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with your template and expected result, or share on our subreddit /r/homeassistant.
AI assistants like ChatGPT or Claude can also explain or fix templates when you describe what you want in plain language.
Related template functions
These functions work well alongside this one:
-
Capitalize first character: capitalize - Capitalizes the first character of a string and lowercases the rest.
-
Convert to lowercase: lower - Converts all characters in a string to lowercase.
-
Convert to uppercase: upper - Converts all characters in a string to uppercase.