Ad fields have their own limits
An organic caption and an ad have different rules. A post on Instagram can run to thousands of characters. The headline of a Google search ad stops at 30. This checker is for the fields you fill in when you build an ad: headlines, descriptions, primary text, display paths and card headlines. For captions on organic posts, use the caption length checker instead.
Pick a platform, paste your copy into its fields, and each field shows its count against the documented number. Red means the platform will not take it. Amber means it fits, but it is past the length the platform recommends, so it may be cut off in the ad. Compare all measures one headline and one body text against every platform at once, which is the quick way to see where a line needs a shorter version.
Every limit, and where it comes from
Each number below is from the platform's own documentation, linked. Where a platform publishes a recommendation rather than a cap, we say so, because the difference matters: a cap is a refusal, a recommendation is a truncation risk.
- Google Ads search (responsive search ads): headlines up to 30 characters, descriptions up to 90, and the two display path fields up to 15 each, with up to 15 headlines and 4 descriptions per ad. From Google's About responsive search ads.
- Google Ads display (responsive display ads): headlines 30, long headline 90, descriptions 90 and business name 25. From Google's responsive display ads specs.
- Microsoft Advertising (responsive search ads): headlines 30, descriptions 90 and each path 15, with 3 to 15 headlines and 2 to 4 descriptions. From Microsoft's ResponsiveSearchAd reference.
- Meta (Facebook and Instagram): Meta recommends 125 characters for primary text, 40 for the headline and 25 for the description, in its creative best practices for text in ads. These are recommendations. Meta says text over the limit may be truncated, and may be truncated further on some placements and devices. Its Facebook Feed ad specs give a tighter suggestion for that one placement: 50 to 150 characters of primary text and a 27-character headline.
- LinkedIn (single image ads): introductory text up to 3,000 characters with 150 recommended, headline up to 200 with 70 recommended, description up to 300 with 100 recommended. From LinkedIn's single image ads specifications.
- TikTok: TikTok shows a maximum of 4 lines of ad text before a See more message covers the rest, and suggests keeping it within 100 characters, or 50 in Chinese, Japanese or Korean, in its in-feed ad specifications. The display name shows one line of up to 20 characters, or 10 in Chinese, Japanese or Korean, per the auction in-feed ad specs.
- Pinterest: titles up to 100 characters, of which the first 40 may show in the feed (30 in Chinese, Japanese, Korean, Arabic and other double-byte languages), and descriptions up to 800. From Pinterest's product specs.
- Reddit: headlines up to 300 characters, with 100 or fewer recommended and 80 or fewer as the safer limit, and a display URL up to 100. From Reddit's image ad specifications.
- X: 280 characters of post text in an ad (an organic post from an X Premium account can run to 25,000), where each link reduces the count by 23, and a media or website card headline of up to 70 characters. X says keeping that headline to 50 should avoid truncation on most devices. From X's creative ad specifications.
How the count works
The count is of characters as you see them. Technically that is a grapheme: an emoji made of several code points, such as a flag or a family, counts as one. Browsers that support Intl.Segmenter count this way. Older browsers fall back to counting code points, which can count a combined emoji as more than one.
Two platforms document a different weight for some scripts, and the checker applies it only there:
- Google Ads search: every character in a double-width language like Korean, Japanese or Chinese counts as 2, per Google's help page. So a Japanese headline of 15 characters is already at 30.
- Microsoft Advertising: the same, and Microsoft includes emoji among its double-width characters. A headline of 15 double-width characters is full, and so is a description of 45, per the API reference.
TikTok's in-feed specs also count a full-width character as 2, so its 100-character suggestion is 50 in those scripts. Google's display ads spec page does not state a double-width rule, so display fields are counted plainly here. On X, each http or https link counts as 23, however long it is.
When a count and what you see differ, the row says why: how many links it found, how many characters are visible, and the length in UTF-16 units, which is how many systems store text and where some emoji count double.
A worked example
Say the headline is Free shipping on every order over $50. That is 37 characters. It fits LinkedIn's 70, Meta's recommended 40, X's card headline and Reddit's headline. It does not fit a Google or Microsoft headline, which stop at 30. Cut it to Free shipping over $50 (22 characters) and it fits everywhere. That is what Compare all is for: write the long line once, then see which platforms need the short one.
What this tool does not do
It does not check ad policy, trademark use, capitalization rules or punctuation rules, and it does not know how a line will look on a given phone. It measures length against the published numbers, and nothing else. Platforms change their specs, so the source link is next to every number: if one disagrees with what you see in the ad platform, the platform wins.
It also does not save anything. Switch tabs and your text is kept while the page is open. Reload and it is gone.
If you would rather not count characters at all
Hermoso is marketing on autopilot. It writes the hooks, headlines, primary text and calls to action as part of making the ad, in your brand's voice (see the AI ad copy generator), and it can turn one image ad you already have into headline variants where only the headline changes. It then builds paused campaigns on your own ad accounts and schedules posts to your own channels. It works in the web app, or inside Claude, ChatGPT and Cursor through its MCP server.
Frequently asked questions
What is the character limit for a Google Ads headline?
30 characters for a responsive search ad headline, 90 for a description and 15 for each display path, according to Google's help page on responsive search ads. Google counts each Chinese, Japanese or Korean character as 2, so a headline in those scripts holds 15 characters.
Does Meta have a character limit for ad primary text?
Meta publishes recommendations rather than caps: 125 characters for primary text, 40 for the headline and 25 for the description. Longer text is accepted but may be truncated, and Meta says truncation can be shorter on some placements and devices.
How long can a LinkedIn ad headline be?
Up to 200 characters, with 70 recommended so it is not truncated. Introductory text can be up to 3,000 characters with 150 recommended, and the description up to 300 with 100 recommended, per LinkedIn's single image ad specifications.
Do emoji count as two characters?
On Microsoft Advertising, yes: Microsoft lists emoji among its double-width characters for responsive search ads. Google's double-width rule names Korean, Japanese and Chinese. This checker counts an emoji as one character everywhere else, and shows the UTF-16 length alongside in case a system counts it differently.
Is this the same as the caption length checker?
No. The caption length checker is for organic posts, where the limits are much longer. This one is for the fields in an ad: headlines, descriptions, primary text, paths and card headlines.
Hermoso writes the copy, makes the ads and runs the campaigns. Start free, 250+ earnable free credits, no card.
Start free → See pricing