Guide Chinese Culture 5 min read

Most Chinese characters share their four-corner code with other characters

The four-corner code turns the stroke shapes at a Chinese character's corners into digits, a lookup method Wang Yunwu made public in 1926. In Unicode's table of 16,916 coded characters, only 6.7% have a four-digit code to themselves, and even the fifth digit leaves most sharing.

Eva Chin
Business & Chinese Culture Correspondent
Published 16 Oct 2026, 2:13 PM (SGT)
Share:
Rows of Chinese characters carved into a weathered stone column Rows of Chinese characters carved into a weathered stone column Photo by YFS Visuals on Pexels
Advertisement

The four-corner code (四角號碼, 四角号码, sìjiǎo hàomǎ) looks up a Chinese character by shape: the strokes at its four corners each become a digit from 0 to 9, often with a fifth digit after a point. Wang Yunwu of the Commercial Press made it public in 1926 and had revised it by February 1930. A code rarely belongs to one character. Of the 16,916 characters coded in Unihan 18.0, Unicode's character database, we counted 1,134 (6.7%) with a four-digit code to themselves. The code 4422 is shared by 97. Wang counted his own collisions (characters sharing a code) long before we did, and his figures can only be set beside ours once the list sizes match.

An earlier nine-stroke scheme singled out few characters by code alone

The first account we found is Hu Shi's preface to Wang's method, dated 23 April 1926, read here as transcribed on Wikisource from the 1933 Commercial Press printing. He writes that Wang showed him the idea in October 1925, on a rickshaw ride. That first version sorted strokes into nine types, and its 0 marked either a stroke continuing one already numbered or an empty corner. 天 was 1056.

In a list of 9,000 characters, Hu Shi reports, only 463 (5%) had a code to themselves, 55% sat in codes shared by ten or more, and one code held 88. Wang's remedy was a decimal counting horizontal strokes, so 十 was 3000.1 and 車 3000.5. With it, 3,200 characters (35.5%) stood alone.

The digit zero confuses a 頭 shape with a corner that adds nothing new

頭 (tóu, "head") is the dot over a horizontal in 亠. Hu Shi's postscript of 7 February 1930 describes Wang's "second revision", which rebuilt the nine strokes into ten shapes, seven of them compound: 0 頭, 1 horizontal, 2 vertical, 3 dot, 4 cross, 5 pierce, 6 square, 7 corner, 8 八 and 9 小. A compound shape beats a single stroke for a corner, so 天 became 1043.

Zero kept a second job. The rules in the Japanese dictionary 字通, which follows the second revision, give 0 to a stroke already numbered at an earlier corner, and to the right corner when a character's top or bottom is a single stroke. So 一 is 1000.0, and a code alone cannot say which job a 0 is doing. Taiwan's National Central Library and 字通 both read corners from handwritten regular script (楷書, kǎishū), never a printed Ming typeface. 戶 starts with a dot when written, so its first digit is 3.

Four digits tell apart only a small share of Unicode's coded characters

Our 6.7% looks like a match for Wang's 5%. It is not one. Longer lists collide more, and Unihan's is nearly twice his size and full of rare characters. To match his size we drew 9,000 characters at random from the coded set 500 times and took the median.

CountCharactersAlone on their codeIn codes shared by ten or moreLargest group
Wang, first version (1926)9,0005%55%88
King (1980)8,00011%not givennot given
Unihan, random 9,000 (ours)9,00012.8%25.2%52
Unihan, GB 2312 set (ours)6,76314.5%22.5%37
Unihan, all coded (ours)16,9166.7%46.3%97

At Wang's size, today's codes leave about two and a half times as many characters alone. The revision cut collisions without ending them. The rules and lists differ, so this is a comparison and no replication; if Wang's 9,000 were common characters, the modern share would be higher still, as the GB 2312 row suggests. Paul King's 1980 paper on keyboard input gives the middle count without naming its rule set. Typing codes meet the same problem, as our guides to Cangjie and Wubi describe.

Advertisement

A fifth corner picks out more characters while most still share a code

The revision swapped the horizontal-stroke decimal for a fifth corner, the stroke nearest above the lower-right corner. 進, 適, 迹 and 避, all 3030, became 3030.1 to 3030.4, and Hu Shi wrote that the problem of too many shared codes was solved.

In Unihan it is not. With the fifth digit, 4,994 of the 16,916 characters (29.5%) stand alone, so 70.5% still share, and 4422.7 holds 71. At Wang's size our draws give 42.7% alone, beside the 35.5% his decimal reached. 中, 申, 串 and 車, which that decimal told apart, all share 5000.6 today. UAX #38 now places the fifth digit in the region immediately above the fourth corner.

Unicode distinguishes few simplified-only characters by a fifth digit

Unihan codes 2,380 characters that are in GB 2312, the mainland's legacy character set, but not in Big5, the legacy set of Taiwan and Hong Kong. Most are simplified forms, and 2,168 of them have no fifth digit. So 寬 is 3021.6 and 宽 plain 3021; 騰 is 7922.7 and 腾 7922. No source we found gives a reason or treats it as a rule of the method; we read it as a gap in the data Unicode inherited.

Until 16 October 2026 our four-corner code lookup glossed every 0 after the first digit as 頭, so 一 showed it four times. A five-digit search silently dropped characters with no fifth digit, and its text said the fifth digit separates most of them. The revision made that day reads a later 0 as nothing new or a 頭. Searching 3021.6 returns 寬 and three others, with 宽 and 宪 listed apart; 7922.7 sets 腾 apart the same way.

Rival rule books identify some characters by different codes

Unihan's codes derive from public-domain data by Hartmut Bohn, Urs App and Christian Wittern, with additions by Jaemin Chung. Unicode records two codes for 149 characters without saying why; in 38 only the fifth digit differs. Codes also change over time. Unicode 18.0 changed the code for 熯 from 9403.4 to 9483.4. A bookseller's listing for the Commercial Press 《四角号码新词典》 (10th edition, 2008) shows a table comparing new and old codes; we have not seen the book.

Simplified and traditional forms often part ways as well. Of the 2,168 simplified-only characters without a fifth digit, 1,776 have a coded traditional form in Unihan, and only 466 share its first four digits. 細 is 2690.0; 细 is 2610.

Library call numbers in Taiwan mark out authors by four-corner digits

Taiwan's National Central Library classification scheme, 中文圖書分類法 (2007 edition), builds author numbers from corners in its appendix 1. For 梁啟超 the surname gives 33, and 啟 and 超 one digit each, 3 and 4. The Gaya Foundation library's own guide calls the four-corner method the more widely used in libraries, because it yields fewer duplicate numbers than the 首尾五筆 method.

Taiwan's Ministry of Education variant-character dictionary takes a five-digit code as a search, and 字通 prints the code beside each entry's stroke count. Unicode's own description says the codes are now rarely used for typing but continue in indexing, in academic studies and some Chinese dictionaries.

Advertisement
Eva Chin
Business & Chinese Culture Correspondent

Eva Chin covers business and commerce in Southeast Asia for RECATOOLS, alongside Chinese cultural practice and education.

View author profile → · Editorial policy

Corrections policy

Advertisement