Anything less than 2MB for a JSON field makes it a non-starter for app database storage—at least for me. Even if I only use 2KB today, I need to sleep knowing my app can scale tomorrow without hitting a ceiling.
Moving forward, a 16KB cap is a hard ‘no.’ It’s 2026; the last thing I want to regret is choosing a database limited to 16KB when I could have used Postgres with GB-level freedom.
In real-world apps, 16KB is nothing. An offers app with nested rules for power users, a visual builder generating HTML/CSS, or even just a long list of Product/Variant IDs will smash through that limit instantly.
But the real damage isn’t the technical constraint—it’s the loss of trust.
Quick solution for now to this size problem would be
For theme side use:
go with something like Cloudflare R2 or JSONBin to store your JSON data and access it via JS on the theme side.
This way, the flow becomes: [Theme extension → JSON API → Res]
instead of:
[Theme ext → Proxy → Your app backend server → DB → Res]
For app only use: Just use the db
Over time, migrate away from Metaobjects and avoid potential issues in the future ![]()