Meta Ad Copy Character Limits by Placement

Meta publishes different ad copy limits for every placement. See the primary text, headline and description figures per placement, and how truncation works.

Updated July 2026 · Likit Sae Lee, CTO

Quick answer

Meta ad copy character limits are the text lengths that apply to the three copy fields in a Facebook or Instagram ad: primary text, headline, and description. Two separate numbers matter. The hard cap comes from Meta's Marketing API, which allows body text up to 1,024 characters and title and description text up to 255 characters each. The soft limits are the per-placement figures Meta publishes in its Ads Guide as "Text Recommendations", and they differ sharply by placement: 50-150 characters of primary text on Facebook Feed, 125 on Stories and Instagram Feed, and 40 on Facebook Reels. Copy longer than the visible lines collapses behind a "See more" link.

The hard field cap and the placement recommendation are different numbers

Most "Facebook ad character limit" cheat sheets quote one number and get the category wrong. There are two, and they behave nothing alike. The hard cap is what Meta's systems will physically accept. Meta's Marketing API documentation for the asset feed spec states that body text has a maximum length of 1,024 characters, and that title and description text have a maximum length of 255 characters. Those are the walls. Paste 900 characters of primary text into Ads Manager and it will save, publish, and deliver. The second number is the one Meta actually publishes for copywriters, and it is not a limit at all. In the Meta Ads Guide, the per-placement figures sit under a heading called "Text Recommendations", alongside "Design Recommendations" and a separate block called "Technical Requirements". Meta puts file size and minimum pixel width in Technical Requirements. It puts character counts in Recommendations. That wording is deliberate: nothing rejects your ad for a 200-character headline, you simply will not see most of it. The practical reading is that the API cap protects the system and the recommendation protects your message. The same asset feed spec also lets you supply up to 5 bodies, 5 titles, and 5 descriptions on a single creative, which is the mechanism behind placement-aware and automatically optimised text. So the real constraint on your writing is never "will this fit in the field", it is "will this be read before it gets cut".

What Meta recommends, placement by placement

These are the figures Meta published in its Ads Guide for single-image ads, checked in July 2026. They move, so treat this as a snapshot and open the spec page for your own placement and objective before you brief a writer. Facebook Feed: primary text 50-150 characters, headline 27 characters. Instagram Feed: primary text 125 characters, headline 40 characters, maximum 30 hashtags. Facebook Stories: primary text 125 characters, headline 40 characters. Instagram Stories: primary text 125 characters, no headline figure published. Facebook Reels: primary text 40 characters, headline 55 characters. Instagram Reels: primary text 44 characters, no headline figure published. Two things in that list surprise people. First, Facebook Reels is the only common placement where Meta recommends a longer headline (55) than primary text (40), because the Reels overlay treats the headline as the readable line and the primary text as an accessory. Second, Facebook Feed gets a 27-character headline recommendation while Stories and Instagram Feed get 40, so a headline built for Instagram is roughly half again too long for the Feed placement it will also run in. Format changes everything again. On a Facebook Feed carousel under the Traffic objective, Meta recommends primary text of 80 characters, a headline of 20 characters, and a description of 18 characters, which is far tighter than the single-image figures for the same placement. And the description field is the quiet one: Meta's Ads Guide publishes no description recommendation at all for single-image ads on Feed, Stories, or Reels. If a field has no published figure for your placement, that is a strong hint not to put anything load-bearing in it.

Why truncation is not a character count

Meta does not publish a "See more" character number, and that absence is honest rather than an oversight. Truncation in the feed is a line count, not a character count. The renderer shows a set number of lines and clips the rest, so how much text survives depends on the width of the device, the user's font size settings, the language, whether your copy contains emoji or manual line breaks, and whether the placement renders text above or below the media. The same 130 characters can fit on a wide desktop browser and collapse on a narrow phone held by someone with large system text. That is why the widely quoted "125 characters before See more" is a useful rule of thumb rather than a specification. It roughly matches what Meta recommends for several placements, which is probably where it came from, but it is not a threshold Meta commits to and it will not hold across every device. Anyone quoting it as a hard truncation point is describing an average, not a rule. The defensible way to plan is to assume less visible text than you hope for, and to check the real thing. Ads Manager's ad preview lets you switch placements and see where your copy actually breaks, which takes a minute and settles the argument better than any table, including this one. Preview the placements that will carry most of your delivery, not just the one you built the ad in.

Writing copy that survives every placement

If you run automatic placements, one ad has to work at 150 characters and at 40. The only text you can count on being visible everywhere is roughly the first 40 characters of primary text, because that is the tightest primary-text recommendation Meta publishes across common placements. So write the opening line as if it is the entire ad: the offer, the tension, or the specific claim goes first, and the qualifiers, proof, and links go after the break where only motivated readers will find them. Front-loading is not a stylistic preference on Meta, it is a rendering requirement. A few habits follow from that. Put the number or the noun in the first six words rather than a wind-up clause. Keep the headline under 27 characters if the ad will touch Facebook Feed, since that is the lowest common denominator on the field that stays visible when the primary text collapses. Avoid opening with a manual line break or an emoji row, both of which eat visible lines. And never put the price, the discount code, or the deadline in the description, which may not render at all. The cleaner alternative is to stop making one piece of copy do every job. Because the asset feed spec accepts up to five bodies, titles, and descriptions per creative, you can supply a short variant for Reels and Stories and a longer one for Feed and let Meta serve the fit. Writing that many placement-aware variants by hand is the tedious part, which is where AI copy generation grounded in your brand kit, such as AdPlay.ai's, earns its place. Whatever you use to draft them, re-check the figures on Meta's spec page for your placement before you ship: these numbers have changed repeatedly, and the version in your head is probably a year old.

Frequently asked questions

What is the character limit for Facebook ad primary text?

There are two answers and both are correct. Technically, Meta's Marketing API documentation caps body text at 1,024 characters, so Ads Manager will accept far more than most people expect. Practically, Meta's Ads Guide recommends 50-150 characters of primary text for Facebook Feed, 125 for Stories and Instagram Feed, and only 40 for Facebook Reels. The recommendation is the number that matters, because exceeding it does not break the ad, it just hides the overflow behind "See more". Treat 1,024 as the wall and the placement recommendation as the target.

Does Meta cut off ad copy at exactly 125 characters?

No. Meta has never published a fixed truncation character count, and the 125 figure that circulates is an approximation drawn from its recommendations rather than a rule. Truncation is decided by how many lines the placement renders, so the actual cut-off shifts with screen width, the viewer's font size settings, the language, and any emoji or manual line breaks in your copy. Identical text can survive intact on a desktop browser and collapse on a narrow phone. The reliable check is the placement preview in Ads Manager, which shows where your specific copy breaks.

How many characters can a Meta ad headline be?

Meta's asset feed spec documentation gives 255 characters as the maximum length for title text, but no placement will show anything close to that. The published recommendations for single-image ads are 27 characters on Facebook Feed, 40 on Instagram Feed and Facebook Stories, and 55 on Facebook Reels, where the headline carries more of the message. On a Facebook Feed carousel under the Traffic objective the recommendation drops to 20. If one ad runs across automatic placements, writing to the 27-character Facebook Feed figure keeps the headline intact almost everywhere.

Should I write different ad copy for Reels and Feed?

Ideally yes, and Meta gives you the mechanism. The asset feed spec accepts up to five bodies, five titles, and five descriptions on a single creative, so you can supply a 40-character opener sized for Reels alongside a fuller 150-character version for Feed rather than compromising on one middling length. If you would rather ship a single version, write to the tightest placement in your mix and let it read short on Feed, which costs you less than writing to Feed length and then having the Reels version clipped mid-sentence on the surfaces carrying most of your delivery.

Where does the ad description field actually show up?

Less often than most advertisers assume. Meta's Ads Guide publishes no description recommendation at all for single-image ads on Facebook Feed, Facebook Stories, Instagram Feed, Instagram Stories, or Reels. It does publish one for carousel ads on Facebook Feed under the Traffic objective, where the recommendation is 18 characters. The safe assumption is that the description is a supporting line that may not render in your main placements, so nothing essential belongs there: keep the price, the deadline, the offer code, and the core claim in the primary text and headline.

Sources

Keep exploring

Turn ad research into winning ads

Research the ads that work, generate the creative on-brand, and launch to Meta, all in one tool.

7-day free trial · No credit card required