# Bushu 部首 — Find kanji by their radicals > Bushu 部首 — Find kanji by their radicals: intersect chosen RADKFILE parts, use Japanese radical names and kanji stroke counts, and mount an English/Japanese picker. 253 radicals and their 6,355 kanji. Zero dependencies. Install with `npm install @johnmorrisdotca/bushu`. Every page below is also an HTML page at the same address ending in .html; the documentation's home is https://johnmorrisdotca.github.io/bushu/docs/. The examples on the reference pages are run when the site is built, and what they print is shown under them. ## Guides - [Getting started](https://johnmorrisdotca.github.io/bushu/docs/guides/getting-started.md): Look up a kanji from native parts, then choose a browser picker. - [Intersect chosen parts](https://johnmorrisdotca.github.io/bushu/docs/guides/intersect-parts.md): Use RADKFILE keys, preserve native ordering and interpret empty results. - [Keep lookup keys and display shapes distinct](https://johnmorrisdotca.github.io/bushu/docs/guides/shapes-and-names.md): Use native stand-in forms and school names without losing ambiguous radical identities. - [Group parts and sort kanji by strokes](https://johnmorrisdotca.github.io/bushu/docs/guides/stroke-ordering.md): Apply the two native radical corrections separately from kanji stroke-count lookup. - [Control the native picker](https://johnmorrisdotca.github.io/bushu/docs/guides/native-picker.md): Use native mount methods, result limits, callbacks and cleanup. - [Use your own part index](https://johnmorrisdotca.github.io/bushu/docs/guides/custom-index.md): Keep native Radical fields and make names and stroke metadata optional. - [Embed a radical picker](https://johnmorrisdotca.github.io/bushu/docs/guides/embed-picker.md): Choose the native element, frame or host mount and preserve event boundaries. - [How lookup, data and the picker fit together](https://johnmorrisdotca.github.io/bushu/docs/guides/architecture.md): Preserved architecture, separate data imports and reproducible source metadata. - [Troubleshooting and FAQ](https://johnmorrisdotca.github.io/bushu/docs/guides/troubleshooting.md): Explain empty matches, unnamed parts, missing stroke counts and asynchronous browser data. - [Upgrading within 1.x](https://johnmorrisdotca.github.io/bushu/docs/guides/upgrading.md): Preserve native keys, index versions, callbacks and license notices. ## Reference - [@johnmorrisdotca/bushu/radkfile](https://johnmorrisdotca.github.io/bushu/docs/api/radkfile/index.md): Radical index and provenance - [@johnmorrisdotca/bushu/names](https://johnmorrisdotca.github.io/bushu/docs/api/names/index.md): Japanese radical names - [@johnmorrisdotca/bushu/strokes](https://johnmorrisdotca.github.io/bushu/docs/api/strokes/index.md): Kanji stroke counts - [@johnmorrisdotca/bushu/picker](https://johnmorrisdotca.github.io/bushu/docs/api/picker/index.md): The radical picker for a page: `mountBushu` draws the grid of parts by stroke count and the kanji that hold the parts chosen into any element, `loadBushuData` fetches the data it shows, and the words (`BUSHU_STRINGS`) and the style (`BUSHU_STYLE`) are here to read or replace. - [@johnmorrisdotca/bushu/element](https://johnmorrisdotca.github.io/bushu/docs/api/element/index.md): Radical picker element - [@johnmorrisdotca/bushu/element/define](https://johnmorrisdotca.github.io/bushu/docs/api/element-define/index.md): Register the picker - [@johnmorrisdotca/bushu](https://johnmorrisdotca.github.io/bushu/docs/api/main/index.md): Bushu 部首, the radical lookup: find a kanji by the parts it is made of, with no page and no data needed. ## Optional - [Changelog](https://johnmorrisdotca.github.io/bushu/docs/changelog.md): every release - [Every export, in full](https://johnmorrisdotca.github.io/bushu/llms-full.txt) - [Source](https://github.com/johnmorrisdotca/bushu)