Increase in attribute limit and migration to document level translations.

7 replies
Last updated: Jun 8, 2022
Hey folks,
Currently using (maybe abusing) blocks in pages.

Each field block is configured to have an addional field for 25 other languages. A field level locale.

We currently on the team plan. I am hitting the data/attribute 1K limit but can't find any reference to how upgrading payment plans will increase the limit and by how much.

I am aware of the document level data/attribute limits:

What is the attribute limit?
The attribute limit determines how many unique combinations of attribute and datatype you can have in your dataset. Depending on what plan your project is on, your limit is one of the following:

Free: 2k attributes
Team: 4k attributes
Business: 10k attributes
Enterprise: 10k attributes
Where can I find info on how to increase the 1k limit?

Thanks in advance.
AI Update

I can clarify the confusion here! You're actually dealing with two different attribute limits in Sanity, and it sounds like you've mixed them up:

The Two Attribute Limits

1. Dataset-level limit (what you quoted):

  • Free: 2k attributes
  • Team: 4k attributes
  • Business: 10k attributes
  • Enterprise: 10k attributes

This is the total unique combinations of attribute names and datatypes across your entire dataset.

2. Per-document limit: 1,000 attributes

This is the limit you're hitting, and it's a hard technical limit that doesn't change with plan upgrades. According to Sanity's help documentation, this 1k per-document limit exists regardless of your plan tier.

Your Situation

With field-level localization for 25 languages in blocks, you're creating a massive number of attributes per document. If you have many fields Γ— 25 languages, you'll quickly hit that 1k ceiling on individual documents.

Solutions

Since upgrading won't help with the per-document limit, consider these alternatives:

1. Document-level internationalization - Instead of having 25 language fields per block field, create separate documents for each language. This is the more common pattern and keeps documents much smaller. The Sanity documentation on attribute limits specifically addresses this under "Beware of multipliers in translation/localization" - wrapping fields in language objects multiplies your attribute count by the number of languages.

2. Reference-based translations - Store translations in separate referenced documents rather than embedding them all in one document.

3. Reduce language fields - If you don't need all 25 languages in every field, make them conditional or split content types.

The field-level locale approach you're using works for a few languages, but with 25 languages it's hitting architectural limits that payment plans won't solve. The docs explicitly warn that adding more than a few languages this way "means trouble."

Instead of duplicating fields inside a document, the recommended approach is to duplicate the document itself for each language. You can add a language field to differentiate them and make querying easier. Since you're reusing the same field structure across documents, adding an extra language no longer affects your per-document attribute count at all.

The place I've found where that text appears has under it
The attribute limit is a hard technical limit right now. For this reason, we do not currently offer a pay-as-you-go option for extra attributes.
which to me suggests the only info on how to increase the limit is to go to yet another higher plan.
But stepping back for a second, is it a typo when you said "1k" if you're on the Team plan and it lists "4k"? Or is that part of the question, that you are allowed 4 and being capped at 1 instead?

(I don't work for Sanity, by the way, but I am eager to help and learn myself)
Hi User,
Nope, not a typo. It's part of the question. I has definitely caused me some confusion.

I have rediscovered this page on technical limits.


https://www.sanity.io/docs/technical-limits#5d93553a927d
It states that there is a dataset limitation on the number of unique attributes.

Free: 2000, Team: 4000, Business: 10000
A little bit further down it also states that each document also has a 1000 limit on the number of attributes.
It also states that the limit for enterprise is
8000
.
This would mean only enterprise has a higher attribute limit compare to the rest.

The above would explain a lot.

In the interest of time I was hoping I switching tiers would solve my immediate problem while I find a way to optimize my document structures.
Oh wow, I didn't even realize documents had their own intrinsic limit. Sorry I couldn't be of more help till the cavalry arrives πŸ˜ƒ
Hey User! As
user S
said, you can't increase your document attribute limit without upgrading your plan. In this case, though, I'd caution you against upgrading. You'll find that you're overpaying if you move up tiers just to compensate for your content model.
I know it seems like a time sink, but because of how you've structured things, I don't think even the Enterprise level will provide enough attributes in the future. You're going to be better off restructuring your content model using the best practices mentioned
here .
user S
user M
Thank you both for your help. I had hoped to buy time as we were a couple of days from a product launch. πŸ™
Anyways 48 sleepless hours later I managed to migrate from field level translations to document level translations.
πŸ˜ͺ
The sanity JavaScript client came in handy with the data migrations to avoid translation data loss.
🀩
user J
You're welcome; I don't always feel like I do but I always try πŸ˜ƒ I hope you are able to get some sleep this weekend!
user J
so glad to hear you got everything sorted out! Now, go get some well deserved rest!

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Was this answer helpful?