It is assumed that you are familiar with any CJK input method and are able to input most of the basic characters, e.g. the default, indecomposible, colored characters in the Components section, such as 日月火水木金土.
Let us search for U+6EEB 滫, which can be decomposed into the water radical (氵), person radical (亻), 夂 or 攵, and 月:
❶ Search for 水人 in the Components section. You should see (abbreviated):
水
㇇
亅
沝
水
氵
人
人
兒
儿
児
亻
入
The Components section retrieves various semantically and orthographically related characters, including all radicals and their conventional names - e.g. 扌 from 手 and 疒 from 病. Double press 氵 and 亻 to add them to the "Components" input box in the Search section.
❷ Enter 月 into the "Components" input box in the Search section. Pressing the search button at this point will lead to the Results page containing our desired character; the combination of 氵, 亻, and 月 is more than sufficient to narrow it down.
❸ For instructional purposes, let's decompose 冬, a far more common character, to obtain its upper component, 夂. Return to the Components section, add 冬, and press again. The following block will be added:
冬
夂
⺀
冫
終
终
Double press 夂 to add to the Search section, and press Search. The results should be narrowed down even further.
❹ If you happen to know that 修, a more common character, is a phonetic loan (假借) of the component on the right, 脩, you may use the related character finding capability of the Components section to obtain 脩.
The button in the lower pane is useful for recursively decomposing a character. 昚, an ancient character, can be obtained from the common 瞭 or 遼 by first decomposing it into 尞, pressing said button with 尞 selected, then pressing once again. 瞭's IDS is defined as ⿰目尞; the characters in the immediate IDS of a character are included in its result block.
Give retrieving 釁 using the more common 興 a try.
What constitutes a variant may be found on GitHub. The nature of the variant is indicated in the lower pane of a selected character, e.g. JA-Kakikae • JA-Joyo • KO-Basic • ZH-Traditional.
A character with any of the following background colors is used in...
Korean, incl. Gukja, Basic Hanja, and preferred Hanja forms (e.g. 曺 aka 曹)
Zhuang
Traditional Chinese
Footnotes
❶ The IDCs in any of the IDSes of a resulting character must appear in the relative order entered.
For instance, ⿹⿱ matches 或 (⿹戈⿱口一), 貳 (⿹弋⿱二貝), and 戠 (⿹⿶戈⿱亠丷日). ⿶ alone matches 画 (⿱一⿶凵田).
❷ The number of occurrences of each unique component in a resulting character ≥ the number of times that component is entered in the input box, if turned on.
For instance, 人人人 matches 傘 (4x 人), 众 (3x 人), and 齒 (4x 人), and not 从 (2x 人), 纵 (2x 人), or 齿 (1x 人). 口土土 matches 哇 (1x 口, 2x 土), and not 吐 (1x 口, 1x 土).
❸ Turn this on if your device is unresponsive while searching. As of the time of writing, nearly 99,000 characters are indexed. For efficient retrieval, the data is organized as a directed graph, i.e.
人 ➞ 内 个 亥 亼 从...
从 ➞ 丛 两 众 來 從...
Thus, a complete search algorithm must be used to transitively obtain all characters. In my brief tests;
一 (as can be expected) is likely the worst-case single-character query: ~54,500 results, with ~64800 edges (pairs of characters) traversed; ~300 ms elapsed on a Snapdragon 425 phone. This process has to be repeated for each unique character entered.
一丨人 consumes ~500-600 ms, traversing around 116,500 edges.
The search will be offloaded to a web worker if turned on, to avoid the fairly unlikely situation where the UI thread is blocked for a long time. Very few characters have normalized IDSes composed of more than 5 or 6 unique characters, even in contrived situations such as U+291D2 𩇒, the infamous 鬱, or biang.
Acknowledgements
The data used in this compiled version comes from: