Skip to main content

Metaobject limits

This document lists how many metaobject definitions, fields, and entries can be created per shop, including apps, by plan. It also covers the limits that apply when a theme renders metaobjects in Liquid.

Anchor to Metaobject definition limitsMetaobject definition limits

Note

Standard metaobject definitions don't count towards limits.

Each app installed on a shop can create up to 128 metaobject definitions.

Note

Definitions configured in TOML configuration are app scoped.

Anchor to Merchant definitionsMerchant definitions

The merchant's Shopify plan limits how many metafield object definitions they can create.

PlanMaximum allowed definitions
Basic128
Shopify128
Advanced128
Plus256
Enterprise256

Each metaobject definition can have up to 40 fields.

Anchor to Metaobject entry limitsMetaobject entry limits

Note

Standard metaobject entries don't count towards limits.

Each metaobject definition can have up to 1,000,000 entries. This limit applies to each definition separately. Entries in one definition don't count toward another definition's limit. When a definition reaches its limit, creating another entry fails with a MAX_OBJECTS_EXCEEDED error.

List metafields can reference up to 1,024 metaobjects. For more information, refer to lists type limits.

These limits apply to each page render when a theme loads metaobjects in Liquid. They're separate from the storage limits above: a definition can store up to 1,000,000 entries and a list metafield can reference up to 1,024 metaobjects, but a single page can load only some of them.

LimitValue
Entries returned when you loop over metaobject_definition.values or a list.metaobject_reference or list.mixed_reference metafield without the paginate tag50
Entries per page when you use the paginate tag250
Unique entries of a single metaobject type that can be loaded per page render1,000
Unique handles of a single metaobject type that can be looked up with metaobjects.TYPE[handle] per page render, including handles that don't match a published entry20
Metaobject definitions that can be accessed through the metaobjects object per page render50
Note

The size of a list.metaobject_reference or list.mixed_reference metafield returns the total number of referenced entries, even when a loop without paginate returns only the first 50. The size of metaobject_definition.values and metaobject_definition.values_count are subject to the count limit, so they return 25,001 for definitions with more than 25,000 entries. Exceeding the per-type limits renders a Liquid error instead of the entries.

Anchor to Loop over more than 50 entriesLoop over more than 50 entries

To render more than 50 entries from a metaobject list, wrap the loop in the paginate tag. Each page returns up to 250 entries. If the list can hold more than 250 entries, then use the paginate object or the default_pagination filter to render page navigation, or narrow the list before rendering it:

{% paginate product.metafields.custom.swatches.value by 250 %}
{% for swatch in product.metafields.custom.swatches.value %}
{{ swatch.name.value }}
{% endfor %}
{% endpaginate %}

Was this page helpful?