I would like to be able to compute the distance between 2 hanzi according to their components.

My idea is that a hanzi like 式 is made of 工 and 弋. 2 hanzi are close if they share common components.

To be able to compute such distance, I need to be able to have a list of hanzi and their components in a digital format. Does such list exist?

  • I don't know what your purpose of doing this is. If you want to improve your Chinese language proficiency, then you don't need to take this approach, because all of Chinese native speakers were not learning Chinese in this way. If you want to do some academic research on how Chinese characters are constructed and how inter-connected to one another, then you may try this method, but I doubt it works. The reason is that Chinese characters have been evolving for thousands of years, and the face of characters got changed drastically. It is very difficult, if not impossible, to figure out the origi Mar 26, 2013 at 22:02
  • there is obviously, as in every language and script, going to be a difference what is synchronously and historically close or related. a given element may be shared by two characters today but have different origins and vice versa. that said, your argument is faulty—just bc, say, english speakers do not make lists of common morphemes when learning the language as a child doesn't mean that's meaningless for a L2 learner (or not interesting for a native speaker).
    – flow
    Dec 16, 2013 at 12:26

4 Answers 4


I know exactly the thing. There's a project on Wikimedia commons to document the substructure of characters in terms of other characters. I haven't spent much time with the data itself, so I can't tell you how complete it is, but it seems pretty good based on my experience with the Tatoeba character search tool that is based on the data. That tool allows you to "explode" characters into their components (e.g., 蝴 => 月虫...) or search for all characters with a particular component (e.g., 隹 => 倠傕傩...).

Another project to do something similar is Wenlin's database of characters in the Character Description Language. Here is Wenlin's page of resources on the CDL. I'm not really sure if you have to buy Wenlin in order to get at some data. Anyhow, it looks pretty awesome.

Best of luck in your endeavors! I've wanted to do something similar, but I've always been too busy. Make sure to tell us about the cool things you do with the data :-)

  • Do you work on wiki projects? Mar 27, 2013 at 10:05
  • @deutschZuid No I don't. But I'm a computery guy, so Chinese-related datasets are pretty darn interesting to me. Mar 27, 2013 at 14:49
  • I am actually developing tools for Tatoeba haha.
    – qdii
    Mar 27, 2013 at 16:09
  • @qdii Hahaha, well your existing tool seems to have the data you need. Mar 27, 2013 at 16:42

You can use Gavin Grover's CJK Decomposition data (used by HanziJS and cjklib).

  • +1 Awesome resources I haven't seen before. Mar 28, 2013 at 2:15

Check out hanzicraft.com & zhongwen.com; they have functions that seem similar to what you're asking for.


You can looking for the hanzi in this page http://www.mdbg.net. Then search the hanzi, when you found it click it. Then you can click over the (1) scissors and show it!

exemple: https://lh6.googleusercontent.com/-0xcJU0i3rns/UWB7C5ji4SI/AAAAAAAAA2Y/6P1xzl-fkBo/w570-h428-p-o/Selecci%25C3%25B3_001.png

(2) After you can click over the components!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.