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

Also available as: JSON · Markdown
88%Fix Rate
90%Confidence
3Evidence
2023-01-01First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
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.

generic

Workarounds

  1. 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
  2. 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).
  3. 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:

  1. 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.

  2. 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.