Sources
Every dataset the app uses, with size, license, and what it's for.
Nihongo Dominos doesn't ship a black-box content list. Every entry — every word, every kanji, every grammar pattern, every example — traces back to one of the public sources below. They're listed here so you can verify any choice we made, or rebuild the data yourself.
JMdict — vocabulary dictionary
Maintained by: Electronic Dictionary Research and Development Group (EDRDG, Australia). Active since 1991.
License: Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0).
Format / size: ~62 MB XML uncompressed, ~216,000 entries.
Where: edrdg.org/jmdict
What we use it for: validating every Goi (vocabulary) entry. Each of our 6,382 vocabulary entries must exist as a JMdict entry — that's how we catch typos and verify readings + part-of-speech tags. JMdict provides authoritative spellings, kana readings, POS codes, and base English glosses.
Why JMdict: it's the canonical Japanese-English dictionary every learner tool, IME, and translation app uses. Open license, decades of community curation, comprehensive coverage. No proprietary alternative would give us this combination.
KANJIDIC2 — kanji dictionary
Maintained by: EDRDG. Same group as JMdict.
License: CC BY-SA 4.0.
Format / size: ~22 MB XML uncompressed, 13,000+ kanji entries.
Where: edrdg.org/wiki/KANJIDIC
What we use it for: kanji metadata — readings (kun + on), English meanings, Joyo school grade, stroke count. Also the embedded <freq> field that gives the Mainichi Shimbun newspaper rank for the top 2,500 kanji (one of three signals in our blended ranking).
Why KANJIDIC2: same reason as JMdict — canonical, open-licensed, comprehensive. Every kanji-learning tool worth using is built on KANJIDIC2.
Mainichi Shimbun frequency rank
Compiled by: Jack Halpern, originally published in The New Japanese-English Character Dictionary (NTC Publishing, 1990). Now embedded in KANJIDIC2 as the <freq> field.
Underlying corpus: 4 years of Mainichi Shimbun newspaper articles (~350 million characters), 1990s.
Coverage: the top 2,500 most-frequent kanji.
What we use it for: one of three signals in the blended kanji ranking. Within our pool, each kanji covered by the Mainichi data gets a newspaper rank, and that rank is averaged with the Wikipedia and Aozora ranks below.
Why this corpus: it's the de-facto standard kanji-frequency reference and ships pre-aligned with KANJIDIC2 entries. Limitations are real — newspaper register, 1990s vocabulary, formal-only — which is exactly why we blend it with two complementary corpora rather than rely on it alone.
Japanese Wikipedia — modern frequency signal
Maintained by: the Wikimedia Foundation and Japanese Wikipedia community. Continuously updated.
License: CC BY-SA 3.0 (article text).
Sample we used: ~3,800 random JA Wikipedia articles, fetched via the MediaWiki API (generator=random + prop=extracts, intro section, up to 10 sentences each), ~0.6 MB of plain text total.
Where: ja.wikipedia.org
What we use it for: second of three signals in the blended kanji ranking. Provides a modern, broad-topic, encyclopedic-register signal alongside the older newspaper data.
Why Wikipedia: free, open-licensed, modern (continuously updated), and broader-topic than newspaper — Wikipedia has biography, geography, science, pop-culture coverage that newspaper misses. Helps elementary kanji like 市 (city), 県 (prefecture), 学 (study), 山 (mountain) move up to where they belong.
Aozora Bunko — literature frequency signal
Maintained by: the Aozora Bunko volunteer project. Operating since 1997.
License: all works are public domain (Japanese copyright expired). The library mirrors them with explicit volunteer-attribution.
Sample we used: 79 works (~6.1 MB plain text) from 10 canonical 20th-century authors — Natsume Sōseki, Akutagawa Ryūnosuke, Dazai Osamu, Miyazawa Kenji, Mori Ōgai, Higuchi Ichiyō, Kunikida Doppo, Edogawa Ranpo, Hayashi Fumiko, Yokomitsu Riichi.
Where: aozora.gr.jp (canonical) · github.com/aozorabunko (text mirror)
What we use it for: third of three signals in the blended kanji ranking. Provides a literary / fictional / conversational register signal — the kind of register that uses 顔 (face), 心 (heart), 寝 (sleep), 雨 (rain) constantly while newspaper and Wikipedia rarely do.
Why Aozora: public domain Japanese literature is the cleanest free source of native-speaker prose with rich daily-life vocabulary. Adding it to the blend brought 顔 from late-tier into Tier 4, 心 firmly into Tier 1, and meaningfully shifted other body-part / domestic / emotional kanji that the formal corpora under-rank. It's the corpus that fixes most of the encyclopedia-register blind spot.
KanjiVG — kanji stroke SVGs
Maintained by: Ulrich Apel and contributors. Active since 2009.
License: CC BY-SA 3.0.
Format / size: 6,702 SVG files, ~12 MB total. Our subset for the 2,228-kanji pool is ~13 MB.
Where: kanjivg.tagaini.net · github.com/KanjiVG/kanjivg
What we use it for: the colored-radical back face. Each SVG marks <g> groups with kvg:element tags identifying components, plus a kvg:radical attribute marking the canonical Kangxi radical. Our renderer colors each radical group differently and surfaces tappable chips below the glyph.
Why KanjiVG: the only freely-licensed dataset that gives BOTH stroke geometry AND radical decomposition. We need both — the geometry for visual rendering, the decomposition for the radical-learning chips. There's no alternative free dataset that combines them; we accept KanjiVG's ~20% of imperfect decompositions as a known trade-off.
JLPT level reference (community-canonical kanji list)
Maintained by: open-source community on GitHub.
License: MIT.
Where: github.com/AnchorI/jlpt-kanji-dictionary
What we use it for: assigning each kanji a JLPT level (N5 / N4 / N3 / N2 / N1). The intermediate core uses N5–N2 as one of its two component sets; the complete N1 set was later added on top of that core. The JLPT lens uses these tags directly to filter — leading with N5–N2, with N1 and 表外 also available beyond the focus.
Why this list: the Japanese Language Proficiency Test stopped publishing official kanji lists in 2010. The community-compiled list at AnchorI is what the entire learner ecosystem (Wanikani, kanji.koohii, Anki decks) uses as the de-facto standard. Listing it as "community-canonical" rather than "official JLPT" is the honest framing.
Bunpou cross-references (grammar)
What we use them for: validating the 502-pattern grammar list. Our build process cross-checks every pattern against multiple canonical learner references, drops duplicates, and looks for gaps — patterns that show up in real text but aren't on our list. Used as comparison reference, not redistributed in the app.
References cross-checked:
- Bunpro grammar index — community-curated grammar progression for JLPT prep.
- Tofugu grammar guides — modern textbook-style explanations.
- Dictionary of Japanese Grammar (Makino & Tsutsui, vols. I–III) — the academic reference for grammar pedagogy.
- Genki I/II — the standard intro Japanese textbook in English-language programs.
- Tobira — the standard intermediate Japanese textbook.
- Quartet — advanced-intermediate textbook covering N3 / N2 patterns.
Why this set: the JLPT doesn't publish official grammar lists either, so the right anchor is the references the field already trusts. Six independent sources across different audiences (Bunpro for app users, DOJG for academics, Genki/Tobira/Quartet for classroom learners, Tofugu for self-study) converge on a stable working set of patterns.
Illustrated vignettes (iPad)
The iPad-landscape layout includes a small number of ukiyo-e–inspired vignettes that sit behind the home page and pillar tier-select pages as atmospheric backdrops (a pensive scholar for Kanji, samurai for Bunpou, etc.). They never overlap interactive tiles — they're decorative wash, not content.
How they were made: generated with Google Imagen from short text prompts, then post-processed in Python (edge-only flood-fill to make the background transparent against the app's dark canvas, plus a saturation-aware pass that removes Imagen's watermark). They are not redrawn or traced from any existing artwork. No source images were used as input — only text prompts.
iPhone uses no decorative imagery; the layout is content-only by design.
What we deliberately don't use
- No proprietary corpora. Every signal above is publicly available. You could rebuild our data from these inputs alone.
- No machine-learning-generated content lists. AI assistants drafted the curation passes, but every shipped entry was either validated against a dictionary above or audited against canonical references above.
- No Wanikani-style invented radical names. Radical chip meanings come from KANJIDIC2 first-gloss + a small hand-curated table for variant forms (氵, 亻, 艹). We don't introduce a custom radical vocabulary that learners would need to unlearn later.
License obligations on derivative works
If you build a product that redistributes our data files (goi_data.js, kanji_data.js, bunpou_data.js, kanji_radicals.json, the KanjiVG subset under kanji/svg/):
- CC BY-SA 4.0 applies to JMdict-derived material (Goi) and KANJIDIC2-derived material (Kanji metadata, frequency, meanings).
- CC BY-SA 3.0 applies to KanjiVG-derived material (the SVG glyphs and decomposition) and Japanese Wikipedia-derived material (the frequency counts).
- Aozora Bunko works are public domain, but we credit Aozora Bunko explicitly and recommend any derivative do the same.
"Derivative" specifically means redistributing the data; you don't need to relicense an app that uses our data via fetch / embed without modification.