Back to Japanese
Kanji stroke count — bulk lookup / 28,000 characters

Kanji stroke count — bulk lookup / 28,000 characters

Extract every CJK ideograph from your input and look up its stroke count in a table. Backed by 28,000+ characters from Unicode 17's Unihan kTotalStrokes — covers all jōyō kanji, JIS X 0208 levels 1 & 2, and most of CJK Extension A and Compatibility. Optional dedupe and stroke-order sort, with running total. Useful for studying, name-stroke analysis, or just checking your kid's homework. Runs entirely in your browser.

japanesetextcount

How to use

Paste text containing kanji into the input, then hit "Look up strokes". Each unique kanji is shown with its stroke count. Defaults: dedupe on, input order preserved. Toggle the option to sort by ascending strokes instead. Results can be copied or downloaded as TSV (char \t strokes) — paste straight into Excel / Google Sheets / Numbers. The stroke dictionary is bundled at build time (~38KB, from Unicode 17 Unihan kTotalStrokes), and no external API is called.

FAQ

Is my input uploaded?
No. The stroke dictionary (~38KB, derived from Unicode Unihan) is bundled at build time; everything runs in your browser.
Which kanji are supported?
We bundle 28,056 ideographs from CJK Unified (U+4E00–U+9FFF), CJK Extension A (U+3400–U+4DBF), and CJK Compatibility (U+F900–U+FAFF). That covers all 2,136 jōyō kanji, JIS X 0208 levels 1 & 2, and almost all jinmeiyō kanji. Extension B+ characters (encoded as surrogate pairs above U+20000) are not in the dictionary.
What about hiragana, katakana, digits, and punctuation?
Skipped — they don't have stroke counts in Unihan. The 'Scanned' count in stats is the total input length, while 'kanji' is the subset that matched the dictionary.
How are kanji without stroke data shown?
They appear with a 'not in db' badge and a `-` placeholder, and are summarised at the end of stats. This applies to rare ideographs whose kTotalStrokes is empty in Unicode 17, and to surrogate-pair characters from Extension B and beyond.
What does 'Sort by strokes' do exactly?
Ascending by stroke count (1 → maximum). Within the same stroke count, input order is preserved. Unknown kanji are pushed to the end.
Can I download as CSV instead of TSV?
We export TSV only — it pastes cleanly into Excel / Sheets / Numbers as two columns. For CSV, copy the TSV and replace tabs with commas.
The stroke count differs from my dictionary
Unicode kTotalStrokes is the Unihan representative value; some kanji dictionaries (Kangxi-style readings, variant interpretations) report ±1 differences. Treat the value here as a reference, not the canonical authority for every edge-case ideograph.

Related tools

Kanji → Hiragana converter — kuromoji morphological reading

Kanji → Hiragana converter — kuromoji morphological reading

Convert Japanese text to hiragana using kuromoji morphological analysis. Choose between fully hiragana output, or a furigana mode that keeps kanji and adds hiragana ruby above. The dictionary downloads once and is then offline. Runs entirely in your browser.

japaneseconversion
Kanji → Rōmaji converter — Hepburn / Kunrei-shiki / macron

Kanji → Rōmaji converter — Hepburn / Kunrei-shiki / macron

Convert Japanese text to Hepburn romaji using kuromoji morphological analysis. Switch between full romaji and a ruby view, and choose macron long vowels (ō, ū) or literal doubled vowels (ou, uu). The dictionary downloads once and is then offline. Runs entirely in your browser.

japaneseconversion
Kyujitai ⇄ Shinjitai converter — traditional ↔ modern Japanese kanji

Kyujitai ⇄ Shinjitai converter — traditional ↔ modern Japanese kanji

Convert between pre-war kyujitai (traditional kanji) and post-war shinjitai (modern Joyo Kanji) with a single mode toggle. Backed by 270+ pairs from the Joyo Kanji list (1981 / 2010 revision) and JIS X 0213 variant tables — 學↔学, 國↔国, 讀↔読, 廣↔広. Runs entirely in your browser.

japaneseconversion
Kanji Numeral Converter

Kanji Numeral Converter

Convert between kanji numerals and Arabic digits. Supports place-value form (千二百三十四), daiji (壱弐参拾 — the tamper-resistant form used on contracts and promissory notes), and positional form (二〇二六). Handles up to 垓 (10^20), recognizes daiji, full-width digits, and thousands commas. Runs entirely in your browser — no uploads.

japaneseconversiontext