Reddit Ads Character Limits & Specs

Reddit's character ceilings are unusually generous — 300 chars on headlines, 40,000 in the body — but the platform's own auction data tells a different story. This page is the reference: hard limits, truncation behavior, and the practical thresholds where copy stops working.

Use the Ad Specs Validator

Paste your copy once. See if it fits Google, Meta, LinkedIn, TikTok, and 8 more ad networks — instantly.

Open the Specs Validator →

Hard limits (Reddit Ads Manager + Marketing API, verified Q1 2026):

  • Headline (Promoted Post / Link Post): 300 characters
  • Body text (Text Post format): 40,000 characters
  • Video description / caption overlay: 500 characters
  • Carousel card headline: 60 characters per card
  • Carousel card description: 45 characters per card
  • Display URL: auto-generated from destination, not editable
  • CTA button: predefined enum only (no custom labels)
  • Image dimensions: 1200×628 (1.91:1) or 1080×1080 (1:1) recommended; min 600×500
  • Video: .mp4 or .mov, max 1GB, max 30 minutes (yes, really), 5-30s recommended

What happens when you exceed a limit

In the UI, Reddit's character counter blocks submission outright — you can't save the draft. Through the Marketing API, the request returns a 400 with field_violations naming the offending field. There is no silent truncation in feed; the platform refuses the asset. The exception is the carousel card headline, which renders truncated with an ellipsis on mobile if a card squeezes past the safe length on smaller viewports (this happens around 45-50 chars on iPhone SE-sized screens even though the API allows 60).

Why the headline ceiling is 300 and not 90

Reddit's headline field doubles as the post title, and organic Reddit titles can run long — the product team kept the ad ceiling aligned with organic post limits so promoted content matches native formatting. That's a feed consistency decision, not a UX endorsement. Headlines past roughly 90 characters wrap to three lines on desktop and four on mobile, pushing the thumbnail and comment count below the fold of a typical scroll.

The 50-character threshold

Reddit's published creative best-practice docs cite headlines under 50 characters correlating with materially lower CPA across self-reported advertiser data. Treat it as a strong heuristic, not a law. The mechanism isn't magic — short headlines look like organic post titles, which is the entire reason Reddit ads work when they work. Long headlines read as marketing copy and get ignored or, worse, downvoted (downvotes don't kill the ad, but they tank engagement signals the auction uses).

Encoding gotchas

Reddit's counter is character-based, not byte-based, so emoji count as 1 character in the validator. However, the API stores body text as UTF-8, and certain Markdown formatting in Text Post bodies (bold **, italic *, link syntax []()) counts toward your 40,000 ceiling. Zero-width joiners in compound emoji (👨‍👩‍👧) render as one glyph but count as 5-7 characters. RTL text (Arabic, Hebrew) renders correctly but the preview pane sometimes mirrors punctuation — preview on a real device before launch.

Fitting copy into the practical ceiling

  • Lead with the specific noun, not the brand. "Marketing ops for 2-person teams" beats "At Acme, we help..."
  • Drop articles (a, the) — they cost characters and add nothing
  • Use the body for proof, the headline for the hook
  • Numerals over spelled numbers (5 not five)
  • One idea per headline. If you need an and, split into two ads

Trimming a 60-char headline to 30 chars (for cross-network reuse)

Original: "Try our new AI-powered marketing platform free for 14 days" — 60 chars.

Trim 1: "AI marketing platform — free 14-day trial" — 42 chars. Drops filler.

Trim 2: "AI marketing — free 14 days" — 28 chars. Fits Google RSA headline limit. Keyword front-loaded, offer preserved, brand intentionally omitted (it appears in the display URL).

Example

A fintech advertiser tested two headlines on the same Promoted Post: "Discover how thousands of professionals are using our budgeting tool to take control of their finances" (104 chars) vs "Budgeting app for people who hate budgeting" (44 chars). Same audience, same body, same creative. The short version delivered 2.3x the CTR and a 41% lower CPA over 14 days.

Tip — Write the body first, then write the headline as a one-line summary of the body's hook. This forces the headline to be specific instead of clever, and specific is what clears the `50`-char threshold without sounding gutted.

Questions

Does Reddit truncate headlines mid-word or reject them?
Reddit rejects, it doesn't truncate. The Ads Manager UI blocks save once you exceed `300` characters on a headline, and the Marketing API returns a `400 field_violations` error naming the field. The one place soft truncation occurs is carousel card headlines on small mobile viewports, where text past roughly `45` chars renders with an ellipsis even though `60` is technically allowed.
Do emoji and special characters count differently in Reddit's counter?
Reddit's counter is character-based, so a single emoji counts as `1` regardless of its underlying byte size. Compound emoji built from zero-width joiners (family emoji, skin-tone variants) are the exception — they render as one glyph but count as `5-7` characters because each component code point counts separately. Markdown formatting characters in Text Post bodies (`**`, `[]()`) also count toward the `40,000`-char body ceiling.

AdPlus is live — free Starter tier

One login for 12 ad networks. AI plans your campaign, validates every asset automatically, and publishes across every connected account. Start on the free Starter tier.

Get started