When you send a message using a Discord webhook, the embed content is capped at a total of 6000 characters across all fields. This limit applies to the title, description, field names, field values, footer, and author name combined. The restriction exists because Discord processes embeds as a single payload and enforces a size limit to prevent spam and performance issues. This article explains exactly which parts of the embed count toward the 6000-character limit, how the limit is calculated, and what happens when you exceed it.
Key Takeaways: Discord Webhook Embed Character Limit
- Total embed character cap is 6000: This includes title, description, field names, field values, footer, author, and timestamp text combined.
- Individual field limits still apply: Field names max at 256 characters, field values at 1024, description at 4096, and title at 256.
- Exceeding 6000 characters truncates the embed: Discord silently drops excess data and may return a 400 Bad Request error.
How Discord Calculates the 6000-Character Embed Limit
Discord webhook embeds are JSON objects sent via HTTP POST requests. The platform enforces a total character limit of 6000 on the combined text content of all embed fields. This limit is not a cap on the raw JSON string length but on the textual content displayed to users.
Which Fields Count Toward the Limit
Every text-based field inside the embed object contributes to the total. The exact fields and their individual maximums are:
- title – up to 256 characters
- description – up to 4096 characters
- fields – each field has a name (max 256 chars) and value (max 1024 chars); the sum of all field names and values counts toward the 6000 total
- footer.text – up to 2048 characters
- author.name – up to 256 characters
- timestamp – ISO 8601 string (e.g., 24 characters for a typical timestamp) also counts
The character count is the sum of the length of each of these fields. Whitespace, punctuation, and emoji characters all count as one character each. URLs are counted as their full string length, not the shortened display version.
Why the Limit Exists
Discord limits embed size for three reasons. First, large payloads increase server processing time and bandwidth usage. Second, massive embeds degrade the user experience by flooding chat channels with oversized content. Third, the 6000-character limit aligns with Discord’s general message length cap of 2000 characters but allows richer formatting through embeds.
What Happens When You Exceed 6000 Characters
If your webhook embed exceeds 6000 characters total, Discord rejects the entire request with a 400 Bad Request error. The API response includes an error message indicating the embed is too large. No partial embed is sent. The webhook call fails, and the message does not appear in the channel.
Example Error Scenario
Suppose you send a webhook with an embed containing a 4000-character description and 10 fields each with a 200-character name and 500-character value. The total is 4000 + (10 200) + (10 500) = 4000 + 2000 + 5000 = 11000 characters. Discord rejects this because it exceeds 6000. The API returns an error like “Embed size exceeded maximum limit of 6000 characters.”
Steps to Stay Within the 6000-Character Limit
To avoid errors, you must calculate the total character count before sending the webhook. Use the following method to check your embed size.
- Count the title length
Measure the number of characters in the embed title. Keep it under 256 characters. - Count the description length
Measure the description characters. The maximum is 4096, but the total with other fields must stay under 6000. - Sum all field names and values
For each field, add the length of the name and the value. If you have multiple fields, sum them all. - Add footer text length
Include the footer text character count. - Add author name length
Include the author name character count. - Add timestamp string length
A typical ISO 8601 timestamp like “2025-03-15T14:30:00.000Z” is 24 characters. - Compare the total to 6000
If the sum exceeds 6000, reduce field content or split the data across multiple webhook messages.
Common Mistakes That Cause the 6000-Character Limit to Be Exceeded
Developers Forget to Sum All Fields
Many developers check only individual field limits and assume the embed is valid. For example, a description of 4000 characters plus 10 fields each with 200 characters exceeds 6000. Always calculate the total across all fields.
Using Very Long URLs in Fields
A single URL can be 2000 characters or more. If you include multiple long URLs in field values, the total quickly exceeds 6000. Shorten URLs using a URL shortener or use Discord’s automatic link embedding instead.
Including Full JSON in Description
Some developers paste raw JSON or log output into the embed description. This often exceeds 4096 characters for the description alone, and adding fields pushes the embed over the limit. Extract only essential data.
Not Accounting for Whitespace and Newlines
Whitespace characters, including spaces, tabs, and newlines, count toward the limit. A formatted description with many line breaks can consume hundreds of characters without visible text. Minimize unnecessary formatting.
| Embed Field | Individual Max | Contributes to 6000 Total |
|---|---|---|
| title | 256 | Yes |
| description | 4096 | Yes |
| field names (each) | 256 | Yes |
| field values (each) | 1024 | Yes |
| footer.text | 2048 | Yes |
| author.name | 256 | Yes |
| timestamp | ISO 8601 string | Yes |
Now you understand why Discord enforces a 6000-character total for webhook embeds and which fields count toward that limit. Always sum the character counts of the title, description, all field names and values, footer, author, and timestamp before sending your webhook request. If your data exceeds 6000 characters, split the content into multiple embeds or multiple messages. For advanced use, consider using Discord’s message components or threads to present large datasets without hitting embed limits.