Facebook

Facebook Ad Character Counter

Count every field of your Facebook ad against the real 2026 limits — primary text with the 125-character window and 2,200-character ceiling, the 40-character headline with its 27-character safe window, and the 30-character description — with a live feed ad preview, placement modes for Carousel, Reels, right column, and post-loop, and a five-option Advantage+ text-options checker.

Feed ads show 125 characters before See more. Headlines: 40 max, 27 display safe. Description: 30. Count all three fields below — plus your display link, internal ad name, and up to five text options.
Home > Facebook Character Counter > Facebook Ad Character Counter
Live count — nothing leaves your browser
0 / 2,200
125 is the mobile display window, not the field cap — Ads Manager accepts roughly 2,200 characters of primary text. The first 125 are what most viewers see before See more, so this mode keeps the hook inside the window.
Emojis detected: 0 (each counts as 2 characters)
Ad Headline40 max · 27 safe
0 / 40 — 0 visible on small screens
Description30 max · 25 recommended
0 / 30 — Meta recommends 25
Ad Name (internal)400 max · ~50 visible
0 / 400 — 0 visible in Ads Manager columns
Text Options — Advantage+ Variant Check

Meta rotates up to five primary text options per ad across viewers. Paste your options — one per line — and each is counted against the current placement's window, with duplicates and over-cap options flagged.

Feed Ad Preview — Mobile
📣 How your ad renders in the mobile feed
Your Page Name
Sponsored · 🌐
Like·Comment·Share
Full primary text visible — no fold.
0 Word Count
1 Line Count
0 Emojis (2 chars each)
0s Read Time
125
characters of primary text visible
The mobile feed window before See more — Meta's published recommendation for most placements
2,200
characters the primary text field accepts
The commonly cited entry ceiling — legal to use, invisible to the scroll-past majority
40
characters in the headline field
The hard field limit for Feed, Stories, and carousel cards — 55 on Reels, 25 on right column
27
the safe headline display window
The length that renders without truncation across placements and devices — aim here for must-read benefits

Facebook Ad Character Limits (2026)

Three Feed fields, plus the placements that rewrite the budget. Here is every number Meta publishes.

Field Limit Notes
The three Feed ad fields — what this page counts
Primary Text 125 / 2,200 125 = mobile display window; ~2,200 = entry ceiling. Meta guidance: 1–3 lines at most
Headline 40 / 27 40 = field limit; 27 = safe display across placements and devices
Description 30 / 25 30 = published limit; 25 = Meta's own recommendation. Hidden on many mobile placements
Placements with their own text budgets
Carousel Card (per card) 80 / 40 / 18 Primary text / headline (25 displays safely) / description — every card is its own copy budget, 2 to 10 cards
Reels Ad 40 / 55 Inverted format — the only placement where the headline budget beats primary text
Reels Overlay Headline 10 Static image strip over Reels — the most restrictive text field in Meta advertising
Stories Ad 125 / 40 Same primary text window and headline limit as Feed, on Facebook and Instagram
Right Column Ad 125 / 25 / 30 Desktop-only placement — the headline caps at 25 (the composer accepts 40) and the description renders in full
Reels Post-loop Ad 60 / 10 The after-Reel video placement — 60 characters of primary text with a 10-character headline
Instagram (all feed placements) 125 / 40 / 30 Same Meta composer — identical budgets to Facebook feed ads
What counts toward each field
Letters, numbers, punctuation 1 each Counted exactly as typed, in every script
Spaces 1 each A 20-word primary text averages ~120 characters including spaces
Line breaks 1 each Fully supported — but each break consumes one of the 1–3 visible lines
Standard emoji 2 each UTF-16 counting — skin-tone and ZWJ emoji cost 4–10 each
URLs in primary text Full length A tracking link can burn 60+ of the 125 visible characters — the CTA button does the clicking
The fields nobody counts — covered by this page's suite
Display Link ~25 visible Meta's help center: ads typically display about 25 characters of the display URL before truncating — no hard field cap
Campaign / Ad Set / Ad Name 400 / ~50 visible Internal names viewers never see — 400 is the hard limit at every level; Ads Manager columns show about 50 characters
Text Options (per field) 5 Advantage+ accepts up to five primary texts, headlines, and descriptions per ad and rotates them across viewers
Adjacent Facebook fields — full details on the pillar page
Organic Post 63,206 The organic ceiling — organic truncation varies by device, ad truncation does not
Comment 8,000 Ads run in feeds with comments — see the Comment counter
Bio 101 Where the ad funnel lands after the click — see the Bio counter
Page Description 255 Your Page's own ad copy, in a sense — what visitors read after the click
Last verified September 2026. Every Facebook field, fully verified, lives on the Facebook Character Counter pillar page.

All Facebook Character Counters

Dedicated counters for every Facebook field

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
Field note: the counter applies the same counting rules Meta's composer does — the UTF-16 length, the emoji sequence weighting, the 1-character line breaks. When this tool says a headline is 27 characters of plain text, Ads Manager will agree; emoji-heavy copy is the one place the two can differ, and the counting section below explains the headroom that covers it. The one thing this tool cannot check is the destination behind your link; that is between you and your landing page.

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.

The three-field reality
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.

Why the exact fold point wobbles: Meta truncates by rendered lines, not a strict character count, so the precise cut varies slightly with line length, device width, and font. For ads, 125 is the consistent planning number — bought placements render more predictably than organic posts, whose mobile window swings between roughly 125 and 300 characters depending on the device. Treat 125 as the ad rule and the 125–300 range as the organic rule, and you will never confuse the two.
The window math
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.

The 27-character discipline
"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.

Description economics
"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.

Placement check: Feed and Stories share 125/40. Carousel cards run 80/40/18 per card (25 characters of the card headline display safely). Reels runs the inverted 40/55 with a 10-character overlay, and its post-loop placement runs 60/10. Right column ads cap the headline at 25 with a fully rendered 30-character description. Instagram feed placements share the Meta composer and every budget the Facebook side uses. There is no Facebook ad placement with a longer primary text window than 125.

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.

Per-card math
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.
Why carousel numbers disagree everywhere: carousel budgets are the least-settled spec in the Meta ecosystem. Meta’s older design specifications listed 80/20/18 per card; its current creative guidance lists the same copy numbers as single-image ads (125 text, 40 headline, 25 link description); and the 2026 spec sheets most media guides publish list the card headline at 40–45 with an 18-character description. This counter counts the card headline against the 40-character field with a 25-character display marker — the numbers Meta’s current guidance and the Ads Manager headline field share. One carousel nuance most guides miss entirely: Instagram feed placements hide the per-card headline and description — the text still matters for Facebook-side cards, but Instagram viewers only ever see the primary text above the deck.

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.

Reels field discipline
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.

Emoji arithmetic in the window
"🔥 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.

Status of the rule: the strict 20% text grid was retired and replaced by the OK/Low/Medium/High image-text rating. Ads with high image text are not rejected outright but tend toward reduced delivery and higher cost, and Meta still recommends under 20% image text. The character limits on this page are composer-field limits and have never counted against image text.

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.

The naming math
"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.

Special-category copy rules: describe the offer and the market, never the viewer. "Fixed-rate mortgages under 4% — quote in minutes" is about the product. "Are you paying too much on your mortgage?" is about the viewer, and it is the textbook rejection. The category affects targeting and enforcement — never the character limits.
The personal-attributes rewrite
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.

The invisible overage
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.

Cross-platform numbers: Google RSA 30-char headlines / 90-char descriptions; X 280 (links 23); TikTok 1–100; LinkedIn 150 display / 70 headline (3,000-character field, 10-emoji cap); Pinterest 100 title / 500 description; Instagram shares Meta's composer and every Facebook budget. All verified September 2026.

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.

Last updated September 2026 — every limit, window, and policy claim on this page verified against Meta's published creative guidance and ads specifications.

FAQ

The 27 questions advertisers actually ask about Facebook ad character limits

Two numbers matter. The display window is 125 characters: Meta recommends 125 characters for primary text on most placements, and mobile feeds truncate anything longer behind a See more link. The field itself accepts far more — about 2,200 characters is the commonly cited entry ceiling, with some API workflows accepting more. A counter that only checks one of the two numbers is checking half the problem: you can legally post 2,000 characters of primary text, but 98 percent of your audience will only see the first 125.

Both numbers are correct at different levels. The headline field accepts up to 40 characters. The 27-character figure is the safe display window — the length that renders reliably without truncation across placements and devices. Write to 40 characters maximum, and aim for 27 when the headline carries a must-read benefit. The counter on this page marks both thresholds on the headline field.

30 characters is the published limit that appears in most spec guides, but Meta's own creative best practices recommend 25 characters for the description field. The description sits under the headline next to the call-to-action button and is hidden on many mobile placements anyway, so treat it as reinforcement, not as a message carrier. Counting to 30 is safe; writing to 25 is safer.

No. The 125-character window applies to Feed and Stories primary text on mobile. Other placements have their own budgets: each carousel card gets 80 characters of primary text, a 40-character headline, and an 18-character description, while Facebook Reels ads invert the format with a 40-character primary text recommendation and a 55-character headline. The Reels overlay placement is the tightest text field in all of Meta advertising at 10 characters.

On mobile feeds, roughly the first 125 characters of primary text display before the See more link. Meta measures the cut in rendered lines rather than an exact character count, so the precise point varies slightly with line length and device, but for ads the 125-character figure is consistent in a way organic post truncation is not — ads are bought placements with predictable rendering, and 125 is the working number for every planning decision.

Yes. Facebook stores ad text as UTF-16, and a standard emoji takes two 16-bit code units, so each one uses 2 of your characters. Complex emoji cost more: skin-tone emoji cost 4, flag emoji cost 4, and ZWJ sequences such as family or couple emoji cost 4 to 10. The counter on this page applies the full weighting with a per-type breakdown, because an emoji stack in a 125-character window can silently eat a quarter of the budget.

Yes. Every space between words counts as 1 character in the primary text, headline, and description fields alike. A 20-word primary text averages about 120 characters including spaces — which is why the 125-character window is measured on characters, not words, and why an accurate counter is worth having even for short copy.

Yes to both. Each line break counts as 1 character, and the primary text field fully supports line breaks on mobile and desktop. But they are expensive visually: Meta's own guidance says primary text should span 1 to 3 lines at most, because every break consumes one of the lines a viewer sees before scrolling. Line breaks can make the first 125 characters feel like more content — or push your hook below the fold if used early.

Yes — Meta has no hard emoji cap for ad text, unlike X, whose 2025 advertising Quality Policy limits ads to a single emoji (one exception: ads shown only in Japan or Korea) and bans excessive capitalization and symbols. The real constraint on Facebook is budget and quality: each standard emoji costs 2 of your 125 visible characters, and emoji stacks read as low-quality creative to the ranking systems that decide delivery and cost. One purposeful emoji is a pattern that works; five is a pattern that costs money.

No. Meta retired the strict 20 percent text rule and replaced the binary check with a text rating that classifies image text as OK, Low, Medium, or High. Ads with high image-text ratings are not rejected outright, but they tend to receive reduced delivery and higher costs, and Meta still recommends keeping image text under 20 percent. The rule matters only for text baked into your image — the primary text, headline, and description fields have never counted against it.

Each carousel card carries its own budget: 80 characters of primary text, a 40-character headline, and an 18-character description, and an ad can hold 2 to 10 cards. The card strip is narrower than a Feed headline line, so about 25 characters of the card headline display safely — and Meta's current guidance lists 40 while older spec sheets said 20, which is why carousel numbers disagree across guides. Every card must work standalone because some viewers only see one card of the set. The carousel mode on this page counts all three fields per card.

Facebook Reels ads use an inverted format: primary text is recommended at 40 characters while the headline gets 55 — the only Meta placement where the headline budget exceeds the primary text recommendation. The Reels overlay placement, a static image strip over Reels content, is even tighter with a 10-character headline. It is the most restrictive text placement in Meta advertising.

Text-based rejections usually come from policy, not length. Meta prohibits shocking, sensational, or excessively violent content, and its personal attributes policy bans copy that implies knowledge of a viewer's health, finances, or personal characteristics — Are you struggling with debt is the textbook violation. Overly caps, exclamation stacks, and engagement-bait phrasing are not automatic rejections but they drag quality down, which raises costs. Character counts never trigger rejection by themselves.

Special Ad Categories are Meta's mandatory compliance classification for ads about housing, employment, financial products, and social issues. They do not change any character limit — 125, 40, and 30 still apply — but they do change enforcement: the personal attributes policy is applied most strictly to these ads, so copy that implies the viewer's finances, employment status, or living situation is far more likely to be rejected, and targeting options are restricted so the copy carries more of the work. Meta's policy allows the words you and your as long as the ad does not assert or imply a personal attribute. The tips panel on this page flags special-category keywords while you write.

They are three separate fields with three separate budgets. Primary text (125 visible / 2,200 max), the headline (40 max / 27 safe), and the description (30 max / 25 recommended) each count independently. Copy that fits one field says nothing about the others — which is why single-box ad counters mislead: they count one field and let the other two fail silently. The suite on this page counts all three.

The ad still runs. Mobile feeds show the first 125 characters followed by a See more link, and desktop placements render more text before folding. Long primary text is legal and occasionally effective for retargeting and detailed offers — the discipline is front-loading: the hook, offer, or question must land inside the first 125 characters, because most viewers never tap See more on an ad they were not seeking.

They share one composer, so by default the same primary text, headline, and description serve both platforms with the same limits. What differs is remixing: Advantage+ creative can rotate multiple text options, swap headline and primary text positions, and reorder sentences per placement, and Meta's AI text generation can produce up to 5 variations of your primary text and headline. Every remixed variant still counts against the same field limits you counted here.

Up to five per field. Advantage+ creative accepts multiple text options — five primary texts, five headlines, and five descriptions — and rotates them across viewers, and dynamic creative can also mix in five call-to-action buttons. Meta's AI text generation can produce up to 5 variations of your primary text and headline from your original copy. Every option still counts against the same limits, so check each one against the 125-character window, not just the 2,200-character ceiling — the Text Options panel on this page checks a whole set at once, with duplicate detection.

Meta's published guidance is 125 characters recommended, spanning 1 to 3 lines at most. Performance studies consistently land on a wider working range of roughly 50 to 150 characters: short enough to be fully visible on mobile, long enough to carry a specific hook and offer. Under 50 characters often reads as a bare slogan; past 150 you are writing for the See-more tappers — a much smaller audience than the scroll-past crowd.

Yes. Both run the same Meta ads composer, so primary text (125 visible), headlines (40), and descriptions (30) carry identical budgets on both platforms, and Stories placements match at 125/40. The one platform-specific wrinkle is that headline display differs slightly by placement, which is what the 27-character safe window exists for.

Yes — a URL pasted into primary text costs its full typed length, and a long tracking URL can burn 60 or more of your 125 visible characters. The ad's actual destination comes from the link field, and the call-to-action button does the clicking work, so most advertisers leave URLs out of primary text entirely. If you need a visible link, shortened branded links keep the cost down.

Two causes. Hidden characters are the classic one: copy pasted from design briefs, Word documents, or notes apps can carry zero-width spaces, soft hyphens, byte-order marks, or bidi control characters that Ads Manager counts even though they render as blank — a headline that looks like 27 characters can measure over 30 and truncate. The second is emoji weighting: Meta's own on-screen counters have been observed counting a basic emoji as 1 character in some surfaces while the delivered text is stored as UTF-16 where the same emoji occupies 2 code units — which is why a strict counter and Ads Manager can disagree by a character or two on emoji-heavy copy. The counter on this page counts the UTF-16 truth, detects hidden characters by code point, and removes them in one click while preserving the joiners inside legitimate emoji; keep 2 or 3 characters of headroom at tight fields so your copy fits under either convention.

For the same ad copy elsewhere: Google responsive search headlines allow 30 characters with 90-character descriptions, X caps promoted posts at 280 characters, TikTok ad text runs 1 to 100 characters, LinkedIn intro text truncates past 150 characters (the field accepts up to 3,000) with a 70-character headline, and Pinterest allows 100-character titles and 500-character descriptions. The cross-platform strip on this page checks your primary text against all of them live.

Yes — 400 characters is the hard API limit at every level: campaign, ad set, and ad names all share it. The practical number is smaller: Ads Manager columns display roughly the first 50 characters of a name, so naming conventions that keep the distinguishable part under about 50 characters stay fully readable in reports. Names are internal — viewers never see them — but rules, filters, and post-campaign analysis all read them, which is why this counter includes a name field.

The display link has no hard field cap, but Meta's own help center says ads typically display about 25 characters of the display URL before the text is truncated, varying slightly by placement and device. The domain renders above the headline in the link block of feed ads, and the preview on this page truncates it exactly the same way. Long tracking URLs belong in the destination URL field, where nobody has to read them — the display link is branding, not tracking.

The numbers have been stable: 125 visible primary text, 2,200 field ceiling, 40/27 headline, 30/25 description, 80/40/18 carousel cards, 40/55/10 Reels, 25-character right-column headlines, and the 60/10 post-loop Reels placement. What did change recently is placement availability — Meta retired the Messenger inbox placement on November 11, 2025, and Messenger Stories on August 27, 2026 — and the 20 percent image-text rule, replaced by the OK/Low/Medium/High text rating. Industry coverage of 2026 enforcement also describes AI-assisted ad review and account-level health scoring, which raises the stakes on the policy patterns this page flags. This page tracks all of it.

The best Facebook ad counter counts all three ad fields, not one: primary text against both the 125-character window and the 2,200-character ceiling, the headline against 40 with a 27-character safe marker, and the description against 30. It switches placement budgets for carousel cards, Reels, right column, and post-loop ads, counts a whole set of up to five Advantage+ text options against the window at once with duplicate detection, counts the display link against its 25-character display budget and internal ad names against the 400-character limit, counts emoji with Facebook's UTF-16 rules, previews the ad as it renders in the feed with the See-more fold, flags clickbait, personal-attribute, and Special Ad Category policy patterns, detects hidden characters, and checks the same copy against Google, X, LinkedIn, TikTok, and Pinterest ad limits. The counter on this page does all of these.

Saif ul Rehman
Saif — Founder of TextCountify

I built TextCountify because I was tired of switching tabs to check character limits while managing social media content and SEO work. Every ad limit on this page is verified against Meta's published creative guidance and ads specifications monthly. If something is wrong, tell me directly — I read every message.

More about TextCountify →
Copied