communication
api_limits
ai_generated
true
Discord API rejects message embed with 400 Bad Request due to exceeding undocumented limits
ID: communication/discord-bot-embed-field-limits
88%Fix Rate
90%Confidence
3Evidence
2023-01-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| any | active | — | — | — |
Root Cause
Discord embeds have multiple undocumented or hard-to-find limits: 25 fields per embed, 256 chars per field name, 1024 chars per field value, 4096 chars for description, 6000 chars total per embed, 10 embeds per message. Exceeding any limit returns generic 400.
genericWorkarounds
-
95% success Validate all embed limits before sending
title<=256, description<=4096, fields<=25, field.name<=256, field.value<=1024, footer<=2048, total<=6000 chars
-
88% success Split large content across multiple embeds (up to 10 per message)
If content exceeds single embed limits, distribute across multiple embeds in one message (max 10).
-
82% success Use pagination with reaction-based navigation for very large datasets
Send one embed at a time with prev/next reaction buttons. Update embed content on reaction.
Dead Ends
Common approaches that don't work:
-
Build large embeds without checking individual field limits
88% fail
Discord returns generic 400 Bad Request without specifying which limit was exceeded. You must validate all limits client-side.
-
Put all information in embed description to avoid field limits
82% fail
Description is limited to 4096 characters AND counts toward the 6000-character total embed limit. Large descriptions leave no room for fields.