Filters
Filters transform a value before it is printed or compared. Chain them with |:
{post.title | default("Untitled") | upcase}
{tags | sort | join(", ")}This page lists every built-in filter. Unknown filter names are reported as template errors, with a suggestion when the name is close to a real one.
Strings
append(value)— add text to the end.prepend(value)— add text to the start.capitalize— uppercase the first character.upcase— uppercase the whole string.downcase— lowercase the whole string.replace(target, replacement)— replace every occurrence.replaceFirst(target, replacement)— replace the first occurrence.remove(value)— delete every occurrence.removeFirst(value)— delete the first occurrence.split(separator)— turn a string into an array.slice(start, length)— take part of a string or array. Negative starts count from the end.truncate(length, omission)— shorten to a character length. The omission defaults to....truncateWords(count)— shorten to a word count with an ellipsis.strip— trim whitespace from both ends.lstrip— trim leading whitespace.rstrip— trim trailing whitespace.stripNewlines— remove newline characters.stripHTML— remove HTML tags.newlineToBR— turn newlines into<br>tags.slugify— lowercase and hyphenate for URLs.urlEncode— percent-encode for use in URLs.urlDecode— decode percent-encoding.
Arrays
first— the first item.last— the last item.size— the number of items, or the length of a string.map(field)— collect one field from each item.where(field, value)— keep items whose field matches.sort(field)— sort by a field, or by value without one.sortNatural(field)— case-insensitive, human-friendly sort.reverse— reverse the order.unique— drop duplicate values.compact— drop nil values.concat(values)— append another array.join(separator)— combine items into a string.
Numbers
plus(value),minus(value),times(value)— arithmetic.dividedBy(value)— division. Dividing by zero returns 0.modulo(value)— remainder.round(precision)— round, optionally to a number of decimal places.abs— absolute value.ceil— round up.floor— round down.atLeast(value)— clamp up to a minimum.atMost(value)— clamp down to a maximum.
Dates
Date filters accept ISO 8601 strings and Unix timestamps.
date(format)— format with an ICU pattern such as"d MMMM yyyy", or Liquid-style%patterns.dateToString— a short standard date.dateToLongString— a longer standard date.dateToXMLSchema— ISO 8601, useful for<time datetime>and JSON Feed.dateToRFC822— RFC 822, useful for RSS.
Output
default(value)— substitute when the value is missing, an empty string, an empty array, orfalse. The number0is kept.json— encode the value as JSON.escape— HTML-escape a string.escape_once— HTML-escape without double-escaping existing entities.raw— mark trusted content as safe HTML. Use sparingly; see Syntax.