Take the 2-minute tour ×

Are there any online or computer dictionaries that allow searching for characters by any sub-part of the character? Occasionally it I see a character the parts of which I can already type. But I can't type the full character itself, and it's a lot of work to look it up using radical search.

Example: Let's take 楼. When I saw this for the first time, I could already type 木米女, but not 楼. Is there a dictionary that gives me 楼 for the search 木米女 (and any other characters which might contain the same)?

There is something similar on this site, kanji.sljfaq.org, but it is for Japanese only, and it's for radicals only (not arbitrary typeable character parts).

I have a semi-usable implementation of such a search, which I wrote in the Mathematica language, and uses this decomposition database. This has shown to me that such an approach can be valuable and usable for a beginner learner. But making it complete and usable enough is a lot of work, and Mathematica is not designed for this, so I am really hoping to find a working implementation somewhere.

share|improve this question
It's an interesting idea, I'll take a look at the decomposition. If there's nothing like this around, it would be an interesting project to develop. –  Petruza Jan 10 '12 at 19:15

4 Answers 4

up vote 5 down vote accepted

Tatoeba.org is a great resource of translated sentences, and it also includes exactly what you're looking for in its tools section. It has a sinogram search page that lets you search by subglyph. When I searched for 木米女, it returned these options:

偻 喽 娄 婅 嫾 嬏 屡 屦 嵝 搂 擞 数 楼 溇 瘘 窭 篓 籹 缕 耧 蒌 薮 蝼 褛 镂 髅

The one you're looking for is number 13.

share|improve this answer
Great finding @Don! I knew it was worth asking here. To explain why it returns so many that don't seem to contain 木： well, 木 is part of 米, and the site doesn't seem to handle this situation. I have corrected this in my own program (very easy to do), so it's a bit disappointing that a deployed dictionary site won't do it. –  Szabolcs Jan 11 '12 at 8:03

This is what you want here: http://tatoeba.org/eng/tools/search_hanzi_kanji

You can type in 木米女 and it will give you the result you are after.

This is also a Japanese tool, but if you click on the character it will give you the pinyin and you could also just cut and past the character into another tool such as wiktionary if you wanted more info.

The tool itself is based on the data available from here http://commons.wikimedia.org/wiki/Commons:Chinese_characters_decomposition which is available under a Creative Commons license and lists over 20,000 characters. This is where I would start if you wanted to build such a tool yourself.

share|improve this answer
Thanks, this is the same as Don Kirkby's reply. The search is a bit simplistic (i.e. it doesn't handle the special situation that 米 already contains 木, and we're obviously looking for something that's contained in both separately), but it works. –  Szabolcs Jan 11 '12 at 8:04
@Szabolcs - Woops, I didn't realise his was the same. I'm not sure what you are saying is correct because the character you are sepcifiying (楼) contains both 米 and 木, so it shouldn't be an error to specify them both in the search. I also not sure what the official rules are but does 米 decompose to 木 or is that only with cangjie input? In regular Chinese 米 and 木 are separate radicals. –  xiaohouzi79 Jan 11 '12 at 9:11
Regarding building my own tool, I'm using this which is both more usable and has more flexible licensing. –  Szabolcs Jan 11 '12 at 9:17
What I was saying is that if I am searching for 木米女， I want to get 楼 (of course!!) but I don't want to get any of the rest of the character that page returns, because none of them have 木 separately from 米. Yes, of course decompositions are not unique, and it's not always as clear how to do them as in the case of 楼 ... –  Szabolcs Jan 11 '12 at 9:19
@Szabolcs - I see what you mean. I also noticed that, I think that tool is designed to give you the best 20 matches so some don't match all 3 characters, but do match 2. It's a closest match search (from what I can tell). –  xiaohouzi79 Jan 11 '12 at 9:21

Not a direct answer, just a suggestion.

You may use some input method (google pinyin IME or sogou IME, for example) to input a character by strokes or by part.

I use google pinyin IME and I find it works for two parts. In the case of 楼，the left part is 木 and the right part is 娄, but if you don't know 娄, 木 米 女 won't be recognized by this IME.

enter image description here
By the stroke input method, you have to input too much... enter image description here

share|improve this answer

Althought this doesn't answer your question as you wanted, I found a nice site, called Nciku.com, where you can handwrite characters.

The stroke order doesn't matter, on the side you'll see similar characters that you can click. It doesn't require touchscreen:

enter image description here

share|improve this answer
Thanks, I do use nciku often, even if drawing with the mouse is a bit inconvenient! –  Szabolcs Jan 10 '12 at 12:42
@Szabolcs Not the best indeed :D But it still works, luckily! :) –  Alenanno Jan 10 '12 at 13:09

Your Answer


