Meta's hard limits are generous enough that almost nobody hits them. The number that actually shapes results is the truncation point, because it decides what a person scrolling at speed sees before deciding whether to stop. On a mobile feed card the primary text shows roughly the first 125 characters, or fewer if you use line breaks, and then folds behind See more. Most people never tap it. If your offer, your proof or your question sits in character 140, you paid to show an ad that does not say anything.
The same logic applies to the headline. It is the boldest text on the card and it sits right next to the button, so it is often the only line people read. A headline that clips mid-word looks broken, and a headline whose meaning lives in the last three words is a headline with no meaning on half of all phones. Write it short, front-load the noun, and treat 27 characters as the safe line even though Meta's guidance says 40.
Common mistakes
Opening with a greeting or a throat-clear ("Hey there! We are so excited to announce") spends the visible characters on nothing. Starting with an emoji stack pushes the first real word further right and, because emoji widths vary by device, makes the cut unpredictable. Using several short paragraphs in the primary text triggers See more after the first line or two regardless of length, so the second paragraph is effectively hidden. Putting the discount only in the headline, where vertical placements never show it. And relying on the description for anything important, when on most phones it does not render at all.
Long copy still works, when it is built for the cut
None of this means primary text must be short. Long copy performs well for considered purchases, supplements, courses and anything where the buyer wants detail before clicking. The rule is that the first 125 characters must work as a complete ad on their own: a hook, a claim and a reason to keep reading. Everything after the cut is a second ad for the minority who tap through, and it can be as long as it needs to be. Test both lengths rather than assuming; the creative testing guide covers how to structure that fairly.
Placements change what is shown
Feed shows primary text, headline and (sometimes) description. Stories and Reels show a short caption from the primary text and no headline card at all, so any copy that only exists in the headline vanishes on vertical placements. Meta's placement customisation lets you supply a different primary text and headline per placement group within one ad, and it is worth using: a full version for Feed, a one line version for vertical. Pair this with correctly sized assets from the ad size cheat sheet and preview each placement in the mockup generator before publishing.
A working structure for the first 125 characters
A pattern that survives the cut on most accounts is claim, proof, offer, in that order and in one sentence if possible. "Makes 12 cups per bottle, rated 4.8 by 3,000 customers, free shipping over $40" is 78 characters and says everything a first-time viewer needs. Notice what it does not do: no greeting, no brand name (the page name is already on the card), no emoji, no line break. Write that sentence first, check it here, and only then add the longer story underneath for the people who tap See more.
Length is not the only review risk
This checker counts characters and shows the cut. It does not judge what the words say. Phrasing that implies personal attributes, promises results or makes health or income claims can be rejected at any length, so run the final copy through the ad policy checker as well, and read why Facebook ads get rejected if a batch has already been disapproved. Once the copy is approved and sized, the remaining risk is a typo introduced while pasting it into thirty ads by hand, which is the part a bulk launcher removes.