Text Transformations: Capitalize, Upcase, and Downcase Filters

You may need to manipulate and format text strings to meet your design requirements or to ensure accurate data comparisons. Shopify Liquid offers several text transformation filters to help you achieve this. The capitalize, upcase, and downcase filters and discuss their uses, including how the downcase filter can be used for case-insensitive string comparisons.

Capitalize Filter

The capitalize filter capitalizes the first letter of a string and makes the rest of the letters lowercase. This is particularly useful for formatting names, titles, or other text that should start with a capital letter.


{{ 'hello world' | capitalize }}
{# Output: 'Hello world' #}

Upcase Filter

The upcase filter transforms all the characters in a string to uppercase. This filter is helpful when you want to emphasize text, create headings, or ensure consistency in your template's typography.


{{ 'hello world' | upcase }}
{# Output: 'HELLO WORLD' #}

Downcase Filter

The downcase filter converts all characters in a string to lowercase. This filter is not only useful for formatting text but also for ensuring case-insensitive string comparisons, particularly when comparing product variables or user input data.


{{ 'HELLO WORLD' | downcase }}
{# Output: 'hello world' #}

Case-insensitive String Comparison:

When working with product variables or user inputs, the values may be case-sensitive, causing potential issues during comparisons. The downcase filter can be used to create a case-insensitive comparison by converting both strings to lowercase before comparing them.

{% assign product_type = 'T-shirt' | downcase %}
{% assign search_query = 't-Shirt' | downcase %}

{% if product_type == search_query %}
  The product type matches the search query.
{% else %}
  The product type does not match the search query.
{% endif %}

{# Output: 'The product type matches the search query.' #}

In the example above, we use the downcase filter to convert both the product_type and search_query strings to lowercase before comparing them. This ensures that the comparison is case-insensitive and produces accurate results.

These filters enable you to manipulate text for display purposes and ensure accurate data comparisons, regardless of the original text's casing. Experiment with these filters to improve your Shopify theme development skills and create a more polished conditions.

Joe Pichardo | Shopify Developer

About Joe Pichardo

Joe Pichardo is a Shopify Developer creating themes and apps to help other programmers succeed on the ecommerce platform.

Having trouble? Ask for help.