Chinese Stroke Lookup

Enter one or more Chinese characters to instantly get stroke count, radical and pinyin. You can also search characters by stroke count or radical — handy for naming a baby, practising calligraphy or preparing lessons.

How to use the Chinese stroke lookup

Stroke count is one of the most basic pieces of information about a Chinese character, and it comes up when looking a character up in a dictionary, sorting a table, teaching a child to write, or practising calligraphy. This tool includes all 6,763 characters in the GB2312 set — covering more than 99% of everyday usage — so you can look up stroke count, radical and pinyin, or work backwards from a stroke count or radical to find characters.

How the stroke count is derived

The stroke count is the number of strokes needed to write the character. This tool uses the standard mainland Chinese glyph forms (per the modern Chinese standard stroke-order specification), with the data derived stroke by stroke from those standard forms.

This is worth spelling out. Many sites simply read the kTotalStrokes field from the Unicode Unihan database — but for characters containing radicals such as 辶 (walk), 廴 (stride), 礻 (altar), 艹 (grass) and 肉 (flesh), that field counts the full traditional form, which differs from the mainland standard. Within GB2312 alone, 258 characters are affected. For example:

  • 迎: Unihan says 8 strokes; the mainland standard is 7 (the 辶 radical counts as 3)
  • 鼎: Unihan says 13; the mainland standard is 12
  • 藏: Unihan says 18; the mainland standard is 17
  • 营: Unihan says 13; the mainland standard is 11
  • 都: Unihan says 12; the mainland standard is 10

This tool consistently uses the mainland standard values, each one checked individually. Note too that old and new glyph forms can differ in stroke count — the 1965 table of standard printing glyphs changed a batch of characters (the top of 骨, for instance), and the old and new forms can differ by one stroke.

A further common example: 乃 is 2 strokes in the mainland standard (the compound hook counts as one), while some older dictionaries say 3. 巨 is 4 strokes and 臣 is 6. These are easy to misremember, so checking with a tool is the safer route.

A radical is not just a "component"

A radical is a classification marker used to organise dictionaries; it is not the same thing as a component. A component is a building block of a compound character (氵 or 木, say), while a radical is one of the fixed 214 categories in the indexing system. For some characters the radical isn't the obvious component:

  • 俄 has the radical 亻, not 我 — because it falls under the 人 category.
  • 勉 has the radical 力, not 免.
  • 颖 has the radical 頁, not 禾.
  • 和 has the radical 口, not 禾 — dictionaries disagree here; this tool follows the Unicode classification.

The radicals here use the 214-category Kangxi system, the same framework followed by the standard modern Chinese dictionaries.

About the pinyin data

Pinyin comes from the open-source pypinyin library, taking the character's most common reading. Watch out for characters with multiple readings:

  • 重 in 重庆 is read chóng, but looking up 重 on its own returns zhòng. The reading depends on context, and the tool can only give the most frequent one.
  • 行 has both xíng and háng; the tool defaults to xíng.
  • To confirm a reading in a specific context, use a dictionary that supports word lookup.

What this tool is good for

Naming a child. The total stroke count of a name matters to many families. Use "search by stroke count" to find characters with the count you want, then choose from the candidates.

Handwriting and calligraphy practice. Confirm the stroke count first, then practise the correct stroke order. Get the count wrong and the order is usually wrong too.

Lesson preparation for teaching Chinese. Teachers can use "search by radical" to gather every character sharing a radical and teach them together — far more efficient than looking each one up.

Forms and typesetting. When a form has fixed boxes to fill, knowing the stroke count (especially for characters whose simplified and traditional forms differ significantly) sometimes affects the layout.

Frequently asked questions

Why does the stroke count differ from what my dictionary says?

Mainly three reasons. First, different data sources: several sites read Unihan's kTotalStrokes directly, and that field counts the full traditional form for characters with radicals like 辶, 廴, 礻, 艹 and 肉, giving one or two more strokes than the mainland standard — this tool uses the mainland standard, which is why 迎 shows 7 rather than 8. Second, old versus new glyph forms: the 1965 table adjusted a batch of characters (the top of 骨, for example), and the counts can differ by one. Third, genuine disagreement over stroke order for certain characters (the first stroke of 及, say). Defer to the specific edition of the dictionary you're holding.

How many characters are included? Can I look up rare ones?

All 6,763 characters of the GB2312 standard: 3,755 in level one (most common) and 3,008 in level two (less common). Anything you meet in everyday reading, writing and office work is here. Extremely rare characters from the Unicode extension blocks (some place names, ancient characters) are not included — many of those can't even be displayed by ordinary computer fonts, and the real-world use cases are few.

Why is the definition in English?

The kDefinition field in the Unicode Unihan database that this tool draws on is itself in English — that's how the database was designed — so the definition shows as a short English gloss. Its purpose is to help confirm "yes, that's the character I meant", not to replace a Chinese dictionary. For a detailed Chinese definition, consult a modern Chinese dictionary or an online unabridged dictionary.

Can I look up several characters at once?

Yes. Type several characters in a row (北京欢迎你, for instance) and the tool lists the result for each in turn. Pasting a passage works too; non-Chinese characters are skipped automatically.

Where does the data come from? Is it reliable?

Stroke count is derived stroke by stroke from the standard mainland glyph forms, consistent with the modern standard stroke-order specification and the table of standard characters — Unihan's kTotalStrokes is not used because of its traditional-form counting bias. Radicals come from Unihan's kRSUnicode field, within the 214-category Kangxi system. Definitions come from Unihan's kDefinition field (itself in English), and pinyin from the open-source pypinyin project. All the data is bundled into the page, so lookups are purely local — it works offline and it's fast.

Related tools