Top view of someone holding an phone next to laptop

RainDrops Blog: Web Design & Dev Insights

Displaying More Than 50 Products in Shopify Liquid: How to Go Beyond the Default Limit

If you’ve ever tried looping through a Shopify collection and noticed only 50 products show up, you’re not alone. This limitation can be frustrating — but there’s a clean way to work around it.

Displaying More Than 50 Products in Shopify Liquid: How to Go Beyond the Default Limit

If you’ve tried looping through products in a Shopify collection using Liquid, you may have noticed a frustrating ceiling — only the first 50 products appear by default. This behavior is built into Shopify’s rendering engine and can be confusing if you’re not expecting it.

Fortunately, there’s a straightforward way to extend this limit using built-in pagination.

Why Only 50 Products?

Shopify’s Liquid engine restricts collection loops to 50 items to ensure fast rendering and avoid overloading templates. So, if you write:

{% for product in collection.products %}
  {{ product.title }}
{% endfor %}

You’ll only get the first 50 products — no matter how large the collection is.

The Workaround: Pagination​

To work around this, Shopify provides the paginate tag, which lets you access more products — up to 1,000 — by specifying how many to show per page:

{% paginate collection.products by 1000 %}
  {% assign products = collection.products %}
{% endpaginate %}
--> {{products.size}} //outputs 1000 (or the maximum available products in that collection)

You can choose any number up to 1,000. Shopify internally divides this into chunks of 50 products per page, but you don’t need to worry about that unless you’re handling custom navigation.

Note: While you can request up to 1,000 products using paginate, the max per page is technically 250. Shopify will simply serve what it can, as long as it's within platform constraints.You can use this code directly on a collection page. 

If you want to use it on other pages, you'll need to directly target a specific collection. So then you would you the 'collections' object like this:

{% paginate collections['COLLECTION_HANDLE'].products by 1000 %}
  {% assign products = collections['COLLECTION_HANDLE'].products %}
{% endpaginate %}

*** Just replace 'COLLECTION_HANDLE' with the correct handle 

Final Thoughts

While Shopify’s 50-product limit might seem restrictive, it’s easy to sidestep with the paginate tag and a bit of smart templating. For most stores, displaying up to 1,000 products is more than enough — and if you need to go further, API-based approaches open the door to even greater flexibility.

Looking to push the limits of Shopify’s built-in functionality? Whether you’re customizing a storefront or building an advanced filtering system, knowing these Liquid techniques gives you a solid foundation to build from.

More to read

Image for A Step-by-Step Tutorial on Using Shopify Metaobjects

A Step-by-Step Tutorial on Using Shopify Metaobjects

In this tutorial, we will walk you through the process of using Shopify Metaobjects effectively, enabling you to extend your store's functionality and customize your data storage.

Continue reading
Image for 9 Advantages Of Custom-Designed Websites For E-commerce

9 Advantages Of Custom-Designed Websites For E-commerce

Creating e-commerce websites has become so much easier over the past 10 years. But is it worth it for you to do it on your own?

Continue reading
Image for How To Redesign & Customize Your Shopify Store In Minutes

How To Redesign & Customize Your Shopify Store In Minutes

Explore how leveraging Shopify sections in your store design can improve your store design and functionality in minutes!

Continue reading

Let's keep in touch

Signup to our mailing list to receive
valuable updates.

* We won't spam you or give your email to anyone.

Signup for Shopify Free Trial Try for Free