This weekend I set out to solve a problem in Chinese learning I’ve had trouble with for some time. Chinese characters consist of radicals, which are the fundamental building blocks of each character. However, there was no way to automatically dissect it without consulting dictionaries, random websites and other untrustworthy sources.

I’ve been looking for a database for quite some time now and I have found some sources [1][2]. I decided to go with number 2, which is a similar type of program for Python. Number 1 is focused on Japanese characters (Kanji) where in essence are the same as Chinese characters, but some characters are different, thus character decomposition will be different. Number 1’s decomposition however is more thorough. Hopefully I’ll combine in the future. I took the second database and wrote a module for Node.js, called Hanzi. I know, how original. For the non-Chinese learners, Hanzi means Chinese characters in Chinese.

It was interesting to write my own module for Node.js, as it is something I have not done before. I always Node Package Manager for many awesome utilities in my Node.js projects. This time I filled a gap and published my own.

It’s a bit cumbersome at the moment and definitely has a few errors, but this is just the start. So head on over to to check the module in action.