Count words in text: wordcount
The wordcount filter counts the number of words in a string, splitting on whitespace.
This is useful when you need to measure the length of text content. For example, you might want to check if a sensor message is too long before sending a notification, or display a word count for text entered through an input helper.
Usage
Here’s how to use this template function. Copy any example and adjust it to your setup.
{{ "The quick brown fox jumps" | wordcount }}
5
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.
wordcount(
value: str,
) -> int
Function parameters
The following parameters can be provided to this function.
Good to know
- Words are anything separated by whitespace. Punctuation stays attached to its neighboring word and does not add to the count.
- An empty string returns
0.
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.
Check message length before sending
Only send a notification if the message is not too long.
{% set msg = states("sensor.latest_message") %}
{% if msg | wordcount <= 50 %}
{{ msg }}
{% else %}
Message too long to display
{% endif %}
Front door was opened at 14:30
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:
-
Wrap text at a line width: wordwrap - Wraps text at a given line width by inserting line breaks.
-
Truncate text to a length: truncate - Truncates a string to a given length, appending an ellipsis if it was shortened.