Filters Data can be filtered, or modified, before being output. These filters might be simple, or might take one or more arguments to modify their operation. For example, to output a string in uppercase (no matter of the casing of the original value): Liquid I am going to yell my name: "{{ "Deane" | upcase }}!!!" Output I am going to yell my name: "DEANE!!!" That filter took no arguments. A more complex filter can take an argument: Liquid The amount is {{ amount | format_number:"N0" }}. Other filters might take multiple arguments in a specific order (meaning, the backing function is accessing them by positional index): Liquid Published: {{ article.date_published | format_date:"MMMM dd, yyyy", "en-us" }} Other filters might use named arguments (this example is fictional, because this is rare in the built-in filters): Liquid My name is {{ name | yell: volume:10 }} (Again, it’s rare to use named arguments. The built-in filters only used them once, for an argument that is very rarely used for its filter.) Finally, filters can be chained or “piped.” A filter returns a FluidValue (we’ll talk about these later) which can be passed to another filter: Liquid Title: "{{ title | strip | upcase | remove_first:"-" }}" There are a couple dozen built-in filters. Most of the Liquid filters have been ported to Fluid. There are in several groups: (Note: the color filters are available in the code, but not loaded by default.) You can define your own filters (see Custom Filters). A non-existent filter won’t throw an error, it just won’t affect the output at all – it will simply pass through the value supplied to the non-existent filter.