Hey everyone,
Thank you for all the thoughtful discussion in this thread. We have heard your feedback and use cases and that helped shape our thinking on appropriate limits.
Updated limits
When using API version 2026-04 or later, the following limits apply:
- JSON type metafields will be limited to 128KB
- All other metafield types will remain at their current limits (64KB)
All existing apps that use JSON fields (prior to April 1st, 2026) will be grandfathered at the current 2MB JSON limit. We’ve updated the developer changelog post to reflect this and provide guidance on next steps where required.
Why we’re making this change
As shared previously, over the last few months we’ve seen large metafield values impacting storefront performance. In these instances, multiple JSON metafields near 2MB each (equating to tens of MB total), were being rendered on the page slowing down overall page load times. On inspection, a lot of the data in those metafields (or entire metafields themselves) weren’t actually being used by the apps downstream. If these apps had only loaded data they needed, these incidents would’ve been avoided.
That has been the impetus behind this change: to encourage app developers to only load the data they need for the job at hand, to ensure users get a snappy and responsive storefront experience. Smaller fields also give us more flexibility in how we store metafields for optimized loading downstream.
However, through conversations with the community here, it’s clear that we cut the limits too deep. A 16KB limit makes it complex to manage data across multiple metafields / metaobjects. We’ve learned that 128KB is a more reasonable limit — it accommodates the vast majority of use cases while significantly reducing the total data loaded when multiple metafields are pulled into a page.
Why we’re grandfathering existing apps
While it’s possible to redesign around 128KB metafields, our conversations with developers have shown that migration is more complex than we originally anticipated. Therefore, we’re grandfathering all existing apps who use JSON metafields prior to April 1st, 2026 at the current 2MB JSON limit. And, if you’re not grandfathered, we’ve created an intake form if you believe you can’t build your use case within 128KB.
A note on large grandfathered metafields
We still encourage you to use smaller metafields. By loading only the data you need on critical surfaces, you’ll avoid rendering many megabytes of JSON and hurting storefront performance. There are also apps who are nearing our tripwires for incidents. If that’s you, don’t worry - we’ll be reaching to you directly to discuss how we can work together to model your data to ensure you have a lot more room under the threshold. We’ll also be looking into how we can proactively give developers better visibility into the storefront performance impact of their apps directly in the Developer Dashboard.
Thanks for your feedback
Thanks to everyone who reached out with feedback and thoughts. We appreciate the passion you have for the Shopify platform, and the time you took to help us find the right balance here.