Open source
A Chinese, Japanese or Korean title wider than 648px is truncated in Google desktop results, and an all-CJK title crosses that line at its 30th character. serp-title-width measures every title against a model taken from the live results page, in your build or while an assistant is writing the title.
Most site auditors judge title length by counting characters, with limits around 60. That rule of thumb comes from Latin text. Google renders result titles in Arial at 22px, where an ideograph, a kana or a Hangul syllable is 22px wide, roughly twice an average Latin letter. Sixty of them come to 1,320px, about twice the 652px desktop result column. A character-count check passes CJK titles that Google will cut in half.
Google gives no length in characters or pixels. Its documentation says only that the title link is truncated as needed, so the width has to be measured.
We measured it on 2026-09-18 on google.com with the Traditional Chinese (Taiwan) interface, in Chrome on Windows: we read the computed style of a result title and measured glyph advances with a canvas in the same page. Those numbers are the model this tool uses, and the README includes the console snippet to re-measure them.
Over 572px is a warning, over 630px is the edge zone near the desktop single-line limit, over 648px is wider than the desktop column and will be truncated. The last two fail the check.
More than two of the marks 、 and , combined fails. In the sample behind the model, every cut Google made in a long zh-TW title fell on one of them. The sample is small, so treat it as a heuristic.
More than one full-width question mark fails. A title that asks two things does not tell the reader which answer is behind the click. This is an editorial rule, not a Google requirement.
The same trailing phrase on more than two titles in a set fails. Google's title link documentation names boilerplate titles as a problem. Scan the whole site at once so this can be detected.
Text before the first punctuation mark wider than 343px means the first mobile line breaks inside the main keyword. Warning only.
The same run of two to four ideographs three or more times fails, which catches literal repeats such as A|A|A. Empty or whitespace-only titles fail too.
A digit is about 12.2px, roughly 0.55 of an ideograph, so "2026" takes the space of 2.2 ideographs. Latin letters vary: i and l are narrow, M and W are nearly as wide as an ideograph.
| Tier | Width | All-CJK title | Result |
|---|---|---|---|
| safe | up to 572px | up to 26 characters | pass |
| long | over 572px | 27 or more | warning |
| edge | over 630px | 29 or more | fail |
| cut | over 648px | 30 or more | fail, truncated on desktop |
Requires Node.js 18 or later. No API key and no network access. Scan the built site in one run so boilerplate tails across pages are detected:
npx -y -p mcp-server-serp-title-width serp-title-width ./publicThe exit code is the contract: 0 every title passes, 1 at least one title must be fixed, 2 the ruler failed its own positive and negative controls, in which case no verdict is given. Put it in front of your deploy and honour the exit code.
The same checks run as an MCP server, so an assistant can measure a title while it is writing it:
{"mcpServers":{"serp-title-width":{"command":"npx","args":["-y","mcp-server-serp-title-width"]}}}Two tools: measure_titles takes a list of title strings, check_title_files reads the <title> of local HTML files or directories. Both are read-only, and the server refuses to start if its own selftest fails.
MIT licensed. The model was measured for one setting: google.com, Traditional Chinese interface, Chrome on Windows. Japanese and Korean use the same full-width assumption and were not measured separately, so treat those results as estimates. Latin text is approximate because Arial is proportional. Google builds title links from several sources besides the <title> element and may replace a title it considers boilerplate, so a passing title is not a guarantee of what is displayed. If Google changes the title font size, every number on this page has to be measured again.
Titles are one of several things we check before a page goes live:
Operating on Keyword Cannibalization New Site With Zero Pages Indexed How to Choose an SEO Agency contentgate: checks before anything ships
How many Chinese characters fit in a Google title?
On desktop, an all-CJK title is truncated from its 30th character: 648px divided by 22px per character is about 29.5. Digits and Latin letters are narrower, so mixed titles have to be measured in pixels.
Why does this disagree with my SEO tool?
Most tools count characters with a limit around 60, a rule of thumb from Latin text. A CJK character is about twice as wide as an average Latin letter, so the same limit passes titles that are certain to be cut.
Does it work for Japanese and Korean?
It measures them with the same full-width width as Chinese, which matches how kana and Hangul are normally set, but the model was measured on the Traditional Chinese interface only. Treat the results as estimates.
Is it free?
Yes. It is MIT licensed, the source is on GitHub, and it runs with npx without an API key or an account.
Titles, indexing and content checks are part of what we deliver. If your site needs the foundations done properly from the start, describe your situation and we will tell you straight.
Chat on Telegram