Notion Character Limit: 2,000 Per Block, But Only If You're Using the API
Type directly into Notion and there's no character limit worth worrying about. Build the same page through Notion's API, and a hard 2,000-character wall appears on every single block.
| Context | Limit |
|---|---|
| Typing in the Notion app | No practical character limit |
| API rich text block | 2,000 characters (hard limit) |
| API rich text array | Up to 100 blocks |
| Max via API per property | 200,000 characters (2,000 × 100) |
| Free plan (individual) | No block limit |
Typing directly into a Notion page, there's no character limit anyone realistically hits — write a paragraph, write ten thousand words, the app simply keeps going. That changes entirely the moment content gets created through Notion's API instead: Notion's own developer documentation confirms every rich text block caps out at exactly 2,000 characters, a hard limit with no workaround inside a single block.
Why This Limit Is Invisible Until It Isn't
Because the 2,000-character cap exists only at the API level, it's completely absent from the everyday experience of using Notion — someone typing a long note directly in the app will never encounter it, no matter how much they write. It shows up specifically for anyone building automation: sending speech-to-text transcripts into Notion, syncing content from another tool, or generating pages programmatically through a workflow builder like n8n, Zapier, or Pipedream.
What Actually Happens When a Block Goes Over
A single API request to create or update a block with more than 2,000 characters of rich text simply fails — Notion's API rejects it outright rather than truncating or splitting it automatically. Developer community threads across Pipedream, Dust, and similar automation platforms show this is a genuinely common stumbling block: a workflow that runs fine for months breaks the first time a source document happens to generate more than 2,000 characters in one paragraph.
A limit that only exists in the API creates a particular kind of surprise — everything works perfectly in manual testing, since testing usually means typing directly into Notion where the limit doesn't apply. The failure shows up later, in production, the first time automated content happens to cross 2,000 characters in a single block.
The Real Ceiling Is Considerably Higher Than 2,000
The 2,000-character limit applies per individual rich text object, but a rich text array can hold up to 100 such blocks — meaning the effective maximum for a single property built through the API works out to 200,000 characters, once the content is properly split across multiple blocks rather than crammed into one. This is the standard workaround: rather than treating 2,000 as a hard content ceiling, treat it as the size each individual chunk needs to be split into.
Free Plan Block Limits: A Separate, Mostly Resolved Issue
Notion's free plan for individual users no longer has a block-count limit at all, following a change made back in 2020 — a genuinely different constraint from the API's character-per-block limit, and one that's largely stopped being relevant for solo users. Team workspaces on certain plan tiers can still encounter block limits, and the Plus plan's trial period specifically imposes a soft cap of 1,500 blocks, but neither of these relates to the 2,000-character API limit at all.
Splitting Content Before It Hits the API
Since the 2,000-character limit applies at the point of API submission, checking a piece of content's length before sending it — and splitting it into separate blocks under that threshold — avoids the rejected request entirely rather than debugging it after the fact. A character counter makes that check straightforward, which matters specifically for anyone building Notion automation where content length isn't always predictable in advance. For general Notion usage inside the app itself, counting words directly within Notion covers the built-in tools available there.
Notion itself feels limitless while typing, and largely is — the 2,000-character wall only exists for anyone going through the API, where it's a hard, well-documented constraint rather than a soft guideline. Knowing it's there before a workflow hits it in production, rather than discovering it through a failed request, is what keeps automation built on Notion running the way it's meant to.
For questions or inquiries contact us at info@cleartexteditor.com