Back to Main Site

Contents

Filter Reference

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):

I am going to yell my name: "{{ "Deane" | upcase }}!!!"
I am going to yell my name: "DEANE!!!"

That filter took no arguments. A more complex filter can take an argument:

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):

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):

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:

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.