Character Limit Checker › Discord limits
The 2,000 is the loosest limit Discord has. This page measures your text against all of them at once, including every embed field and the 6,000 character embed total, and turns anything over the limit into parts you can copy and send.
| Field | Limit | Yours | Verdict | Where it cuts |
|---|
Two limits on this list are not about your text and cannot be checked from it: a message carries at most 10 rich embeds, and an embed carries at most 25 fields. They are in the sources table below so the list is complete.
Everyone knows the 2,000. What catches people is that it is one entry in a list, and the rest of the list is stricter. Discord's API documentation puts message content at up to 2,000 characters, and then gives every part of a rich embed its own ceiling: 256 for a title, 4,096 for a description, 1,024 for a field value, 2,048 for footer text, 256 for a field name, 256 for an author name. On top of that, the sum of the title, description, field names, field values, footer text and author name across every embed on one message must not exceed 6,000 characters, and going over any of them comes back as a Bad Request rather than a truncated post.
Discord's Nitro page lists longer messages of up to 4,000 characters among the perks. That doubles the ceiling for what a person types in the box. It does nothing for embeds, and it does nothing for bots and webhooks: the API's content field stays at 2,000 whatever the account sending it pays for. A bot that posts a Nitro length message will get an error, not a longer message, which is why the selector above keeps the two apart.
Knowing you are 640 characters over does not help much. What helps is a set of parts that will each send. The splitter above breaks on the largest boundary that fits, in order: a blank line first, then a single line break, then a space, and only then between two characters. It counts in the same unit the platform does, and it never cuts through a grapheme cluster, so an emoji or a Korean syllable is never left as half of itself at the end of a part.
Code blocks get one extra rule. A fence opened in one part and never closed swallows the rest of that message as code, so when a split lands inside a fence the splitter closes it at the end of the part and reopens it, with the same language tag, at the start of the next. The room for those extra backticks is reserved before the split, not after, so every part still comes in under the limit.
| Number | Value | Where it is published |
|---|---|---|
| Message content"Message contents (up to 2000 characters)" in the message object and in the create message parameters. Applies to bots and webhooks too. | 2,000 characters | Discord developer docs, Message resourcethe platform's own documentation states it |
| Message content with Nitro"Longer messages up to 4,000 characters", listed among the Nitro perks. It does not change the API field limit. | 4,000 characters | Discord, Nitro perksthe platform's own documentation states it |
| Embed title and field name and author namePer field limits on the embed object. | 256 characters each | Discord developer docs, Embed limitsthe platform's own documentation states it |
| Embed descriptionThe largest single embed field. | 4,096 characters | Discord developer docs, Embed limitsthe platform's own documentation states it |
| Embed field valueWith at most 25 field objects on one embed. | 1,024 characters | Discord developer docs, Embed limitsthe platform's own documentation states it |
| Embed footer text | 2,048 characters | Discord developer docs, Embed limitsthe platform's own documentation states it |
| All embed text on one message"the combined sum of characters in all title, description, field.name, field.value, footer.text, and author.name fields across all embeds attached to a message must not exceed 6000 characters." | 6,000 characters | Discord developer docs, Embed limitsthe platform's own documentation states it |
| Embeds per message and fields per embed"Up to 10 rich embeds (up to 6000 characters)", and up to 25 field objects on an embed. Neither can be checked from a block of text. | 10 embeds, 25 fields | Discord developer docs, Create Messagethe platform's own documentation states it |
Two thousand characters for message content, stated in Discord's API documentation as the limit on the content field. Discord's Nitro page raises that to 4,000 for people typing in the client. Bots and webhooks stay at 2,000 whatever the account pays for, because the limit sits on the API field rather than on the sender.
Because the message limit is the loosest one you are likely to meet. An embed title stops at 256, a field name at 256, a field value at 1,024, footer text at 2,048 and a description at 4,096, and the title, description, field names, field values, footer text and author name across every embed on one message have to add up to 6,000 or less. Going over any of them returns a Bad Request, so a checker that only knows about 2,000 will pass text that a bot cannot send.
On the largest boundary that still fits: a blank line first, then a line break, then a space, and only between two characters as a last resort. The splitter here does that, counts in the same unit the platform does, never cuts through a grapheme cluster, and closes an open code fence at the end of a part before reopening it with the same language tag at the start of the next, so a code block cannot swallow the rest of the message.