Filters reference

Filters transform the output of a Liquid object or variable. They are used inside output tags ({{ }}) and are separated from the value with a pipe character (|). Filters can be chained together, and some accept additional parameters. This page groups the filters available in EasyStore themes by category.

Localization

Filters for translating storefront text.

t

Returns the translated string for a translation key defined in the theme's locale files. Pass named or positional parameters to interpolate values into the translation. See the Localization page for full detail.

{{ 'cart.general.title' | t }}
			
Your cart
			

URL and asset

Filters for building URLs to theme assets, images, and storefront resources.

asset_url

Returns the URL of a file in the theme's assets folder. See Theme assets for more.

{{ 'share.js' | asset_url }}
			
https://s3-ap-southeast-1.amazonaws.com/easystore.co/101502/themes/28/assets/share.js
			

global_asset_url

Returns the URL of a global asset hosted on EasyStore's servers. Global assets can improve page load times.

{{ 'account/vouchers/vouchers.css' | global_asset_url }}
			

img_url

Returns the URL of an image resized to the requested size. Pass a size keyword such as small, medium, large, or grande.

{{ image.src | img_url: 'grande' }}
			

url_param_escape

Escapes a string so it can be used safely as a URL query parameter value. Commonly used to build share links.

{{ article.title | url_param_escape }}
			

link_to

Wraps the input text in an HTML anchor (<a>) tag that points to the given URL.

{{ blog.title | link_to: blog.url }}
			
<a href="/blogs/news">News</a>
			

within

Scopes a product URL to a collection, so the product page keeps the collection context (used for previous/next navigation and breadcrumbs).

{{ product.url | within: collection }}
			
/collections/frontpage/products/sample-product
			

payment_type_image_url

Returns the URL of the icon image for a payment type (for example the card brands accepted at checkout).

<img src="{{ type | payment_type_image_url }}">
			

HTML

Filters that output HTML tags or sanitize/encode content.

stylesheet_tag

Wraps a stylesheet URL in an HTML <link> tag. Usually chained after asset_url.

{{ 'section-main-product.css' | asset_url | stylesheet_tag }}
			
<link href="//cdn.easystore.co/.../section-main-product.css" rel="stylesheet" type="text/css" media="all">
			

script_tag

Wraps a script URL in an HTML <script> tag. Usually chained after asset_url.

{{ 'product-form.js' | asset_url | script_tag }}
			
<script src="//cdn.easystore.co/.../product-form.js" type="text/javascript"></script>
			

structured_data

Outputs SEO structured data (JSON-LD) for an object such as a product. Pass the shop as a parameter to include store details.

{{ product | structured_data: shop }}
			

placeholder_svg_tag

Returns an inline placeholder SVG image, useful as a fallback when no image is available. Pass an optional CSS class name.

{{ 'lifestyle-2' | placeholder_svg_tag: 'placeholder-svg' }}
			

strip_html

Removes any HTML tags from a string.

{{ product.description | strip_html }}
			

escape

Escapes HTML special characters in a string so it can be safely rendered as text or inside an attribute.

{{ product.title | escape }}
			

json

Converts a Liquid object or value into its JSON representation. Useful for passing server-side data to JavaScript.

{{ item.properties | json }}
			

Money

Filters that format a numeric price into a monetary string.

money

Formats a price using the store's currency format, including the currency symbol. Pass a currency to format the amount in that currency.

{{ item.final_line_price | money: cart.currency }}
			
$29.00
			

money_without_currency

Formats a price using the store's currency format but omits the currency symbol.

{{ product.price | money_without_currency }}
			
29.00
			

String

Filters that manipulate text.

append

Concatenates the given string to the end of the input.

{{ shop.url | append: article.url }}
			

prepend

Concatenates the given string to the beginning of the input.

{{ product.url | prepend: shop.url }}
			

replace

Replaces every occurrence of the first argument with the second argument.

{{ template | replace: '.', ' ' }}
			

remove

Removes every occurrence of the given substring from the input.

{{ product.title | remove: 'Sample ' }}
			

downcase

Converts the input string to lowercase.

{{ product.title | downcase }}
			

upcase

Converts the input string to uppercase.

{{ product.title | upcase }}
			

capitalize

Capitalizes the first character of the input string.

{{ product.type | capitalize }}
			

truncate

Shortens a string to the given number of characters. An ellipsis is appended, and you can pass a custom trailing string as a second argument.

{{ product.description | truncate: 20 }}
			

truncatewords

Shortens a string to the given number of words. Pass a second argument to set the trailing string (an empty string removes the ellipsis).

{{ article.description | strip_html | truncatewords: 25 }}
			

split

Splits a string into an array of substrings using the given delimiter.

{% assign tags = product.tags | split: ',' %}
			

handle

Converts a string into a handle: lowercase, with spaces and special characters replaced by hyphens. Handles are used in URLs and as identifiers.

{{ page_title | handle }}
			

date

Formats a timestamp using the given strftime pattern.

{{ order.created_at | date: "%b %d, %Y" }}
			
Jul 21, 2026
			

Math

Filters that perform arithmetic on numeric values.

plus

Adds the given number to the input.

{% assign active_count = active_count | plus: 1 %}
			

minus

Subtracts the given number from the input.

{{ product.price | minus: product.compare_at_price }}
			

times

Multiplies the input by the given number.

{{ item.price | times: item.quantity }}
			

divided_by

Divides the input by the given number. When both operands are integers, the result is an integer.

{{ product.price | divided_by: 100 }}
			

round

Rounds the input to the nearest integer, or to the given number of decimal places.

{{ filter.min_value.value | round: shop.format_decimals }}
			

abs

Returns the absolute value of a number.

{{ -25 | abs }}
			
25
			

default

Returns the given fallback value when the input is empty, false, or nil.

{{ section.settings.heading | default: 'Featured products' }}
			

EasyStore helpers

Filters specific to EasyStore that output storefront-aware values, links, and markup.

color_extract

Extracts a single channel from a color setting. Pass 'red', 'green', or 'blue' to return that channel's value, which is convenient for building CSS custom properties that can be used with opacity.

--color-base-text: {{ settings.colors_text | color_extract: 'red' }},{{ settings.colors_text | color_extract: 'green' }},{{ settings.colors_text | color_extract: 'blue' }};
			
--color-base-text: 18,18,18;
			

default_errors

Renders a form's validation errors as a standard, translated HTML error message block. Applied to form.errors.

{{ form.errors | default_errors }}
			

edit_customer_address_link

Wraps the input text in a link that opens the edit form for the given customer address. Pass the address ID.

{{ 'customer.addresses.edit' | t | edit_customer_address_link: address.id }}
			

delete_customer_address_link

Wraps the input text in a link that deletes the given customer address. Pass the address ID.

{{ 'customer.addresses.delete' | t | delete_customer_address_link: address.id }}
			

customer_register_link

Wraps the input text in a link that points to the customer registration page.

{{ 'layout.customer.create_account' | t | customer_register_link }}
			

register_tos

Outputs the terms-of-service agreement text, with the store name as the input and the policy links passed as a parameter.

{{ shop.name | register_tos: contents.terms-policy.links }}
			

fulfilment_activity_html

Renders the fulfilment (shipment/tracking) activity for an order as ready-made HTML. Applied to the order's fulfilments.

{{ fulfilments | fulfilment_activity_html }}
			
icon-accounticon-add-newicon-add-storeicon-appicon-appleicon-archiveicon-arrowdownicon-ascicon-bookicon-cancelicon-cart-addonicon-checkouticon-cherryicon-collectionicon-comfirmicon-confirmicon-couponicon-creditsicon-currencyicon-dashboardicon-discounticon-disintegrateicon-domainicon-dscicon-duplicateicon-editicon-emailicon-exclamation-triangleicon-exporticon-eyeicon-eye-slashicon-fullscreenicon-fullscreen-closeicon-generalicon-gifticon-gridicon-hddicon-helpicon-importicon-infoicon-integrationicon-invoiceicon-likeicon-listicon-locationicon-logouticon-new-tabicon-not-secureicon-optionicon-ordericon-outline-arrowdownicon-pageicon-paymenticon-plusicon-posicon-pricingicon-printericon-producticon-product-sumicon-product-sum-xicon-redirecticon-reporticon-reseticon-searchicon-secureicon-settingicon-shippingicon-staricon-storeicon-switch-storeicon-tagicon-taxesicon-templateicon-themeicon-tickicon-trashicon-unarchiveicon-uploadicon-user-tagicon-usersicon-weighticon-wholesale