A Facebook ad is three text fields, not one: primary text above the creative, a headline under it, and a description under that. Each field has its own character limit, its own display window, and its own job — and the numbers that govern them are not the numbers most guides quote. Primary text is famously "125 characters," but the field actually accepts about 2,200. Headlines are "40 characters," but 27 is the number that displays safely everywhere. Descriptions are "30 characters," but Meta itself recommends 25.
This counter checks all three fields live, switches budgets by placement (Feed, per-card Carousel, Reels, right column, and post-loop), renders your ad exactly as it appears in the mobile feed including the See-more fold at 125 characters, counts your display link against its 25-character display budget and your internal ad name against the 400-character limit, checks a whole set of up to five Advantage+ text options at once, counts emoji with the same UTF-16 weighting Meta's composer uses, and flags the copy patterns that drag ad quality down or trip policy. Everything runs in your browser — nothing is uploaded, stored, or sent anywhere.
The reason a dedicated ad counter exists at all: an ad that fits is not an ad that works, and an ad that works starts with copy that survives the render. The window is 125 characters on the screen your customer holds. The headline has 27 safe characters beside the CTA button. Everything else — every clever paragraph, every emoji stack, every tracking URL pasted into the caption — is writing for a tap most people never make on an ad they never asked to see.
How to Use This Facebook Ad Character Counter
No account, no download, no waiting. Five steps and your copy is publish-ready:
- Pick the placement mode. Feed counts standard primary text against the 125-character display window and the 2,200-character field ceiling. Carousel card switches the suite to per-card budgets: 80 characters of primary text, a 40-character headline (25 display safely), an 18-character description. Reels ad flips to the inverted format — 40-character primary text, 55-character headline, and the 10-character overlay field. Right column caps the headline at 25 for the desktop strip, and post-loop counts the after-Reel video placement at 60 primary / 10 headline.
- Fill the Ad Copy Suite. Type your primary text into the main counter, then complete the headline and description in the suite below, plus the display link (counted against its roughly 25-character display budget) and your internal ad name (400-character limit, ~50 visible in Ads Manager columns) if you use them. Each field counts live against its own limit, with the 27-character safe headline marker and the 25-character description recommendation shown inline.
- Check the feed ad preview. The preview renders the ad card as a viewer sees it — page row, Sponsored label, your primary text, the media block, the headline, description, domain, and CTA button — including the See-more fold at the window and exactly how many characters survive above it.
- Review the warnings. Amber marks copy past a display window; red marks copy past a hard limit. The tips panel flags all-caps shouting, emoji overspending, exclamation stacking, clickbait phrasing, URLs burning the window, hashtag stacks, Special Ad Category territory, and the personal-attribute patterns that trigger Meta's ad policies. If you run Advantage+ multiple text options, paste up to five variants into the Text Options panel — each is checked against the window, with duplicates flagged. Hidden zero-width characters — the classic cause of an Ads Manager rejection on copy that "fits" — are flagged and removable in one click.
- Copy into Ads Manager. Copy each field into its box. If the headline fit the 27-character safe window here, it will display without truncation there.
Facebook Ad Character Limits: Three Fields, Not One
Almost every "Facebook ads character limits" table on the internet treats ad copy as a single line item. It is not. A link ad carries three independent text fields, each with a published limit and a tighter practical window:
| Field | Field limit | Display window |
|---|---|---|
| Primary text | ~2,200 |
125 on mobile feeds, before See more |
| Headline | 40 |
27 safe across placements and devices |
| Description | 30 |
25 is Meta's own recommendation; hidden on many mobile placements |
Three budgets, three jobs. Primary text is the pitch — the only field with room for a hook, proof, and an offer. The headline is the anchor that survives every placement, including the ones that never render primary text at all. The description is a bonus line that appears only in link-style placements, and on many mobile renders it does not appear at all. Copy that fits one field says nothing about the other two, which is why single-box ad counters mislead: they count the pitch and let the anchor fail silently.
Primary text can legally run 2,200 characters. The headline still gets 40. The description still gets 30. The limits do not borrow from each other, and neither does the display.
Primary Text: The 125-Character Window and the 2,200-Character Ceiling
Meta's own creative best practices are unambiguous: the recommended text length for most placements is 125 characters for primary text, and text beyond it is truncated behind a See more link. The same guidance adds a structural rule most guides skip — primary text should span 1 to 3 lines at most, because the feed reserves roughly that much vertical space before the creative, and every line break you type spends it.
The field itself is far more forgiving than the window. Ads Manager accepts roughly 2,200 characters of primary text — the commonly cited entry ceiling — and some API workflows accept more. Nothing stops you from writing a long-copy ad, and long copy has a real place in retargeting and high-consideration offers. But the mechanics never change: the feed renders about 125 characters, then folds the rest behind See more, and most viewers never tap. Writing past the window is writing for a minority audience by default.
The honest way to hold both numbers in your head: 125 is a rendering limit, 2,200 is a storage limit. Your long copy is not rejected, penalized, or truncated into oblivion — it is simply invisible until someone chooses it. Plan the first 125 as the ad, and treat characters 126 through 2,200 as the landing page's opening argument for the people who opt in.
A 95-character primary text with a 40-character tracking URL pasted in uses 135 characters — 10 past the window, with the actual offer pushed behind See more. The CTA button was already going to do the clicking; the URL spent 40 characters doing nothing.
The Headline: Write to 40, Display Safe at 27
The headline field accepts 40 characters. That is the hard number, published in every Meta spec sheet, and it is the number Ads Manager enforces. But the number that matters for rendering is 27: past 27 characters, headlines begin to truncate on some placements and devices, because the headline renders in a narrow strip beside the call-to-action button and the space is not negotiable.
The two numbers create a simple workflow. Draft the headline to 40 — that is the field, and plenty of good headlines use all of it. Then check the safe window: if the headline carries a must-read benefit, a price, or a deadline, get it inside 27 so no placement cuts it. If it is reinforcement that can afford to lose its tail, 40 is fine. The suite on this page counts both thresholds live — the count turns amber at 27 and red at 40.
One more headline behavior worth knowing: on Reels, the headline is the primary text surface — the format gives it 55 characters while primary text drops to 40. The field you treat as a tight 40-character anchor on Feed becomes the main message on Reels. If you run the same creative across both, headline strategy is placement strategy.
"Free Shipping Ends Sunday" = 25 characters — fits the safe window everywhere.
"Free Shipping Ends Sunday at Midnight" = 37 characters — fits the 40-character field, but the "at Midnight" tail may truncate exactly where the urgency lives.
The Description: 30 Published, 25 Recommended
Most spec guides publish 30 characters as the Facebook ad description limit. Meta's own creative guidance goes tighter: it recommends 25 characters for the description field. The gap is small, but the reason behind it is instructive — the description renders as a small gray line under the headline, and the shorter it is, the more reliably it displays in full across the link block layouts Meta tests.
More important than either number is the description's actual status: it is the least-loaded field in the ad. It is hidden entirely on many mobile placements, it never displays on Reels, and no ad has ever failed because its description truncated. The professionals' pattern is to use it for low-stakes reinforcement — "Free shipping over $50", "Ends Sunday", "Instant download" — and to never move a load-bearing detail into it. Count to 30 if you must; write to 25 because Meta asked; expect it to be invisible about half the time regardless.
"Ends Sunday at midnight" = 23 characters — inside Meta's recommendation, and it duplicates the headline's deadline instead of carrying new information. That is the correct use of the field.
Ad Truncation vs. Organic Truncation: Why Ads Are Consistent
Organic Facebook posts truncate in a range, not at a point: mobile cuts between roughly 125 and 300 characters depending on the device, and desktop cuts near 477. Meta has confirmed the organic behavior is driven by rendered lines, not a character count, which is why the number wanders with screen width. This is a genuine annoyance for organic planning — you cannot know exactly where the cut lands for any given reader.
Ads are different in one useful way: because placements are bought and rendered in fixed layouts, the 125-character primary text window is consistent across mobile feed placements in a way the organic range is not. That consistency is why media buyers can plan creative around 125 — the "first 125 characters" discipline that every Meta media buying course teaches is not folklore, it is the rendering contract of the placement. Your organic post might show 300 characters on a large phone; your ad will not.
The same logic cascades down the format stack. Stories render primary text with the same 125/40 budgets as Feed. Carousel cards get fixed per-card strips. Reels inverts the budget. Every ad format is a fixed layout, which makes character counting for ads more engineering than estimation: the number that fits is the number that renders. That is also why this page can preview the fold at a specific window rather than a vague range — ad layouts earn that precision.
Carousel Ads: Every Card Is Its Own Copy Budget
Carousel ads look like one ad, but Meta's spec sheet counts them as a deck: each of the 2 to 10 cards carries 80 characters of primary text, a 40-character headline, and an 18-character description. The primary text above the carousel is shared — the first card the viewer sees renders it — but every headline and description is per-card, and every card must survive alone because placement rotation and card-level engagement decide which cards individual viewers actually see.
The practical consequence is that carousel copy is a spreadsheet problem, not a writing problem. Ten cards times three fields is thirty separate character budgets, and the 18-character card description is the tightest field on the Feed — it cannot even hold “Free shipping today”, which measures 19. The card headline gets the same 40-character field as a Feed ad, but the card strip renders narrower than a Feed headline line, so 25 characters is the practical display marker. The carousel mode of this counter counts all three per-card budgets with the 25-character marker on the headline, so each card gets counted the way the placement will render it.
Structure beats length in carousels. The pattern that survives testing is a story arc across cards — problem, mechanism, proof, offer — with each card carrying one idea in its 80-character slot, and the headline reserved for the card's identity rather than a repeated brand slogan. Repeating the same card headline on every card wastes the one field that differentiates card from card; varying it gives the deck a second layer of copy to test.
Card 3 of 5: "Built for teams that ship fast" = 30 characters of the 80-character card text. Headline "Try it free" = 11 of 20. Description "No card needed" = 14 of 18. The card fits everywhere — and still reads standalone if it is the only card a viewer sees.
Reels Ads: The Inverted Format
Facebook Reels ads turn the text budget upside down. Where the Feed gives primary text 125 visible characters and the headline 40, Reels recommends 40 characters of primary text and 55 for the headline — the only Meta placement where the headline budget exceeds the primary text recommendation. The inversion makes sense when you look at the layout: Reels is a full-screen vertical format where overlay text on the video does the visual work and the text block anchors the bottom of the screen.
Below the standard Reels ad sits the strangest text field in Meta advertising: the Reels overlay headline, capped at 10 characters. The overlay is a static image strip rendered over Reels content, and its headline field holds less text than a license plate. Ten characters is "Shop now", "Try free", or "Save 20%" — and nothing else. It is the tightest copy constraint on any major ad platform, and it is why the Reels mode of this counter includes a dedicated overlay field.
Copy strategy for Reels is therefore headline-first in a way no other placement demands. The primary text is a caption that most viewers never expand; the overlay text competes with the video itself for attention; the 55-character headline is the only field with room for an actual sentence. Advertisers who reuse Feed copy on Reels without re-budgeting fields routinely discover that their 120-character hook renders as a truncated caption under a video nobody pauses to read.
The Reels family has a second, less-documented member: the post-loop ad, the video placement that runs after a Reel finishes. Current spec guides give it 60 characters of primary text and a 10-character headline — one and a half times the standard Reels primary budget, with the same license-plate headline as the overlay strip. The 60-character primary text is the only Meta placement budget that sits deliberately between the Reels caption (40) and the Feed window (125): enough for a sentence and a hook, not enough for an argument. If your Reels strategy treats text as a caption, post-loop is where a slightly longer caption still renders; if it treats the headline as the message, post-loop gives that message exactly 10 characters to land — the same discipline as the overlay, on a loop.
Primary text: "The spring drop is live." = 24 of 40. Headline: "Shop the collection before it sells out" = 39 of 55. Overlay: "Shop now" = 8 of 10. Three fields, three sizes, no overlap.
How Facebook Counts Characters in Ad Copy
Meta's ad composer stores text as UTF-16, the same encoding behind the post, comment, and bio fields, and the counting behavior follows: every 16-bit code unit is a character. For plain Latin text this is invisible — letters, numbers, spaces, and punctuation all cost exactly 1 each. The consequences only appear once the copy leaves the ASCII range, which in modern ad copy means emoji.
- Letters, numbers, punctuation: 1 character each, in every script.
- Spaces: 1 character each — a 20-word primary text averages about 120 characters including spaces, which is why the 125 window is effectively a 20-word budget.
- Line breaks: 1 character each, fully supported — and structurally expensive, since Meta's guidance reserves 1 to 3 lines for primary text.
- Standard emoji: 2 characters each — a surrogate pair charges both units.
- Skin-tone and flag emoji: 4 characters each.
- ZWJ sequences: 4 to 10 characters — the family and couple emoji that paste as one glyph bill as several.
In a 2,200-character field none of this matters. In a 125-character window it decides the layout of the message: an opener carrying three standard emoji spends 6 characters of decoration before the first word; a couple emoji with skin tones spends 8. The counter here shows the split — text, emoji code units, line breaks — so the decision to keep or cut an emoji is a number, not a vibe.
One wrinkle deserves its own paragraph, because it explains a support ticket that has existed since the first emoji ad: Meta's own on-screen counters have been observed counting a basic emoji as 1 character in some Ads Manager surfaces, while the delivered text is stored as UTF-16 where the same emoji occupies 2 code units — and third-party references split the same way, with some spec guides reporting 1-per-basic-emoji and others 2. The result is a headline that reads 27 in Ads Manager and 29 in a strict UTF-16 counter, both correct, neither wrong. The safe practice at the tight fields — the 27-character headline window, the 20-character card headline, the 10-character overlay — is to keep 2 or 3 characters of headroom, so the copy fits under either counting convention. This counter counts the UTF-16 truth and discloses the difference; a counter that promises to exactly match Ads Manager on emoji-heavy copy is promising something Meta's own UI does not consistently do.
"🔥 New drop is live — members shop first 🎉" = 43 characters: 39 text, 4 emoji (two standard emoji at 2 each). The two emoji spend just over 3% of the 125-character window — and both land in the first line, where decoration survives the fold.
Emojis in Facebook Ads: Cost and Policy
Emoji are fully allowed in Facebook ad text — there is no Meta policy capping them, and no automatic rejection for an emoji stack. The costs are budget and quality. Budget is arithmetic: 2 characters per standard emoji in a 125-character window is a 1.6% tax per emoji. Quality is behavioral: the ranking systems that decide ad delivery and effective cost — Meta’s Andromeda ads-ranking engine, described publicly in late 2024, among them — weight creative quality, and copy that leans on emoji stacks, symbols, and punctuation fireworks reads as low-quality to exactly the systems you do not want boring.
The comparison worth knowing is X. In 2025 X introduced an explicit advertising Quality Policy: ads must use proper grammar and spelling, avoid punctuation mistakes, avoid excessive capitalization and symbols, and include no more than one emoji — with an exception for ads shown only in Japan or Korea. Meta has no equivalent hard rule — but the direction of travel is the same everywhere, and copy that would fail X's policy is copy that underperforms on Meta for softer, algorithmic reasons. Writing to the stricter standard future-proofs the creative.
The working pattern for emoji in ad copy is the same as for posts: one purposeful emoji as a visual anchor, placed in the first line where it survives the fold. A single 🔥 or ✅ works as a scannable marker in a feed of gray text; five in a row signals the kind of ad people train themselves to skip. The tips panel here flags emoji overspending at more than three emoji or more than 20% of the count — both thresholds that show up in quality-flagged copy far more often than in controls.
The 20% Text Rule Is Gone. What Replaced It
For years the most-quoted Facebook ad rule had nothing to do with character counts: no more than 20% of an ad image's area could be text, enforced by a rejection or reduced delivery. That rule is retired. Meta replaced the binary check with a text rating that classifies image text as OK, Low, Medium, or High — and while ads with high image-text ratings are no longer automatically disapproved, they still tend to receive reduced delivery and higher costs, and Meta continues to recommend keeping image text under 20%.
The retirement is routinely misreported as "text on images no longer matters," which is not what the rating does. What actually changed is the failure mode: instead of your ad being blocked at submission with an overlay-grid error, it quietly loses auctions you never see. That is worse for the inattentive and better for everyone else — the enforcement moved from review-time to delivery-time, where it costs money instead of time.
What this means for counting: the character limits on this page have never applied to text baked into your image. Primary text, headline, and description are composer fields, counted by the composer. Text rendered into the creative by a designer is pixels, rated by the image-text classifier, uncountable by any tool. The two systems share a philosophy — less text renders better — but they are enforced by entirely different machinery, and conflating them is the single most common confusion in ad copy planning.
Multiple Text Options: How Advantage+ Remixes Your Copy
Ads Manager lets you provide multiple text options — alternative primary texts and headlines that Meta rotates across viewers. Advantage+ creative takes it further: it can reorder your text, swap headline and primary text positions, highlight individual sentences, and assemble variations per placement. Meta's AI text generation can produce up to 5 variations of your primary text and headline from your original copy. The system then mixes and matches to find the combination that performs.
The counting consequence is subtle and almost never discussed: every remixed variant is still bound by the same field limits you counted here. When Advantage+ swaps your headline into a primary-text slot, the 125-character window applies to text drafted for a 40-character field — which usually works (40 is under 125) but silently changes the fold math. When it promotes a sentence from deep in your primary text into the first line, the character you put at position 40 might now sit at position 8. The discipline that survives remixing is making every sentence of the primary text front-load-safe, not just the first.
Multiple text options also change what "fits" means operationally. Providing three primary text variants is not three times the counting work — it is the same check, three times, and the shared failure is identical: variants that each fit 2,200 but whose hooks land at different distances from the 125 window. Count each option against the window, not the ceiling, before trusting the rotation.
The rotation set has a published size, and it is larger than most guides admit: Advantage+ creative accepts up to five options per field — five primary texts, five headlines, five descriptions — and dynamic creative can pair them with five call-to-action buttons into every possible combination. Testing practice points the same direction: structured ad-copy testing typically runs three or more headlines against four to six body variants per set, and Meta's own split-testing tool supports up to five versions of the tested variable. The Text Options panel in this counter is built for exactly that workflow: paste your options — one per line — and each is counted against the active placement's window with duplicate detection, because two identical options quietly waste one of your five rotation slots, and every option past the fifth simply will not save.
The Fields Nobody Counts: Display Link and Internal Names
Every ad character guide covers the three composer fields. Two more text surfaces ship with the same ad and are almost never counted — which is a shame, because they fail differently. The first is the display link. It has no hard field cap, but Meta's own help center says ads typically display about 25 characters of the display URL before truncating, varying slightly by placement and device. The domain renders as the small uppercase line above the headline in the link block — it is branding real estate, not tracking real estate. Long tracking URLs belong in the destination URL field where nobody has to read them; the display link that viewers actually see should be short enough to survive 25 characters. The suite on this page counts it live, and the feed preview truncates it at 25 with an ellipsis exactly the way the placement does.
The second is the internal name — the names of your campaigns, ad sets, and ads. Meta enforces a 400-character hard limit at every level, and the practical number is far smaller: Ads Manager's columns display roughly the first 50 characters of a name, so anything past that is invisible in the reports where you actually live. Names are never shown to viewers, but they are read constantly by everything that is not a viewer: automated rules (Meta lets you build rules that fire on the campaign name itself), filters, spreadsheets, and the post-campaign analysis that decides next quarter's budget. A name that is legal at 380 characters and unreadable at 50 is a name your future self will rename by hand.
The convention that survives is structured and short: objective, audience, offer, version, date — SALES_PROS_SpringSale_v3_0924 — which lands under 50 characters with every decision-relevant token intact. The counter's name field applies the same discipline the copy fields do: green under 50, amber past it, red past 400. It is the only ad counter we found that counts this field at all.
"SALES_PROS_Retarget_SpringSale_v3_0924" = 38 characters — under the 50-character visibility line, legible in every Ads Manager column.
"Sales prospecting retargeting spring sale version 3 September 24 2026 optimized for conversions" = 95 characters — legal at 400, invisible past 50.
Ad Quality Signals: What Actually Gets Copy Flagged
Character counts never get an ad rejected. Policy does, and the policies that touch text are specific. Meta's advertising standards prohibit shocking, sensational, or excessively violent content, including scare tactics used to grab attention. The personal attributes policy is the one that catches otherwise-polite copy: you may not imply knowledge of a viewer's health, financial state, or other personal characteristics. "Struggling with debt?" is the textbook violation — it asserts something about the reader. The rewrite that passes is always about the offer or the audience's situation in general terms: "A tool for paying down debt faster" targets nobody.
Below the rejection line sits the quality layer — signals that do not block the ad but tax it. All-caps runs, exclamation stacks, engagement-bait phrasing ("Tag a friend", "Don't scroll past"), and emoji walls are the classic markers of low-quality creative, and Meta's delivery systems price that judgment in. The mechanisms are opaque by design, but the direction is consistent across every study and every platform: clean, specific, sentence-case copy delivers cheaper per result than the same offer shouted.
The tips panel in this counter encodes the practical version of all of it: caps ratio, exclamation stacking, clickbait patterns, URL-in-caption spending, hashtag stacks in paid placements, and a personal-attribute heuristic that flags direct second-person questions about the reader's situation. None of these are automatic rejections — they are the patterns that show up disproportionately in flagged and underdelivering ads, surfaced here while you can still edit.
Special Ad Categories: When Copy Gets Extra Scrutiny
Some ads carry more than copy risk. Meta's Special Ad Categories are a mandatory compliance classification for ads about housing, employment, and financial products — mortgage and rental listings, job postings, credit and loan offers — plus a separate registration track for social issues, elections, and politics. The categories exist to prevent discrimination in the audiences ads can reach, and choosing one changes two things: targeting options are restricted (age, ZIP-level geography, and interest targeting narrow or disappear), and the policy machinery that reads your copy gets stricter.
The copy rule at the center is the same personal attributes policy that governs every ad, but for special categories it is enforced with the least patience. You may not assert or imply knowledge of a viewer's personal characteristics — their finances, employment status, or living situation. Meta's own policy text is specific about what survives: the words "you" and "your" are allowed as long as the ad does not mention or imply a personal attribute, which is why "Mortgage rates just dropped — see today's numbers" passes while "Do you need a mortgage?" does not. One describes the market; the other describes the viewer. The distinction is grammar, and it is the difference between delivered and rejected.
No character limit changes inside a Special Ad Category — 125, 40, and 30 still apply. What changes is the weight the copy carries: with targeting narrowed, the copy does more of the qualifying work, and with enforcement tightened (industry coverage of Meta's 2026 enforcement describes AI-assisted ad review and account-level health scoring), the personal-attribute patterns that might slip through a generic review are the ones most likely to surface here. The tips panel on this page flags housing, employment, and financial-products keywords as special-category territory while you are still writing — before the rejection, not after it.
Flagged: "Are you struggling with debt?" — implies the viewer's finances.
Passes: "The debt-payoff planner people actually finish" — describes the product, asserts nothing about the reader. Same offer, different grammar, different policy outcome.
Hidden Characters: Why Ads Manager Rejects Copy That Fits
The routine failure report: a headline that obviously fits — 27 characters by hand — that Ads Manager truncates or a compliance check flags anyway. The usual cause is not the visible text. It is invisible Unicode riding in the paste: zero-width spaces, zero-width non-joiners, soft hyphens, byte-order marks, and bidi control characters pasted in from design briefs, Word documents, notes apps, and copy docs.
Meta's composer counts every one of them — they are characters — but they render as nothing. A headline that visually reads as 27 characters can measure 31 or 35, and a "clean" description can carry a stray byte-order mark from the brief it was copied from. The effect is worst exactly where budgets are tightest: the 27-character headline safe window, the 25-character card-headline marker, and the 10-character Reels overlay have no slack for invisible passengers.
This counter runs the same detection the bio and comment tools here do: it finds hidden characters by code point, counts them, names them, and removes them in one click. The cleanup protects the zero-width joiners inside legitimate emoji sequences — a family emoji is held together by joiners and would shatter without them — and converts pasted non-breaking spaces into the regular spaces the composer expects. Clean the copy before it goes into Ads Manager, and the counts you verified here are the counts that publish.
A 27-character headline carrying 3 zero-width spaces and a soft hyphen measures 31 — 4 characters past the safe window, invisible in every design review, and perfectly explainable only after a code-point-level count.
Facebook Ad Copy on Other Ad Platforms
Ad copy rarely lives on one platform, and the same text faces very different budgets elsewhere. Google responsive search ads allow 15 headlines of 30 characters each and 4 descriptions of 90 — the tightest per-field discipline in advertising. X caps promoted posts at 280 characters, with links billed at 23 regardless of length. TikTok ad text runs 1 to 100 characters, with its own spec quirks — half-width characters are counted, and its guidelines discourage emoji and special symbols in ad text. LinkedIn intro text truncates past 150 characters (the field accepts up to 3,000, with a 10-emoji cap in its own spec) with a 70-character headline. Pinterest is the roomiest: 100-character titles and 500-character descriptions.
Mapping Meta copy onto those budgets is a translation exercise. A 125-character Meta primary text is a full X ad, four Google headlines, or a LinkedIn intro with room to spare — but its hook sentence is already longer than an entire Google headline, and Google headlines are the unit that matches to searches. The cross-platform strip in this counter shows the live fit of your primary text against each platform's headline text field, with estimate markers where the platform's emoji counting differs from Meta's UTF-16.
The one translation that needs human judgment is tone. Meta rewards conversational hooks; Google rewards literal keyword matching; TikTok's 100 characters need native cadence or nothing. The characters fit or they do not — the counter handles that — but a hook that reads as a Meta ad on TikTok is a character limit that passes and a creative test that fails.
Writing Better Ad Copy: The Patterns That Survive Testing
Between the limits and the policy sits the craft, and the patterns that survive testing are consistent enough to teach. The working range for primary text length across performance studies is roughly 50 to 150 characters — short enough that the whole pitch renders in the window, long enough to carry a specific hook rather than a slogan. Under 50 reads as a label; past 150 you are writing for See-more tappers. Meta's own line guidance (1–3 lines) is the same advice in vertical form. One nuance from 2026 performance coverage is worth keeping: long copy is not dead — retargeting and high-consideration offers often reward 150 to 300 characters that fold behind See more, because the audience already knows the offer and will tap for the detail, while cold audiences reward the fully visible window because attention is most expensive exactly there. The window discipline matters most where the audience knows you least.
Front-load past proof, not filler. The first line does the work of the whole ad: a question, a number, a specific outcome, or a contradiction — "The planner people actually finish", "40 pages of real CPC data", "Clogged drain on a Sunday?". Sentence case, single emoji maximum, no more than one exclamation point in any ad you expect to deliver cheaply. The CTA button already says "Learn more"; copy that also screams "CLICK HERE" is paying for the redundancy in quality ranking.
Write the headline as the ad's fallback. In every placement that strips primary text — and there are more of them every quarter — the headline is the entire message. A 27-character headline that names the offer survives every placement; a clever 38-character fragment survives only the placements with room. And when the whole funnel is counted and clean, the last discipline is the one the multiple-text options reward: make every sentence of the primary text strong enough to be the first sentence, because Advantage+ may make exactly that decision for you.