Every source.
Its edition, its licence, its limits.
10 openly licensed sources feed zimai. Each keeps its exact edition, licence and attribution. Every number here is computed from the data in this release as of 2026-10-15; a record count is not a count of meanings.
- CC-CEDICT records
- 125,264
- HanDeDict records
- 160,731
- CC-Canto entries
- 34,335
- Characters
- 8,243
- Classical passages
- 9,629
- Sentence pairs
- 39
At a glance
Edition dates are the upstream data dates zimai pinned. “Age” counts from that date to 2026-10-15.
| Source | Gives zimai | Size | Edition | Age | Licence | Open |
|---|---|---|---|---|---|---|
| CC-CEDICTMandarin–English | Mandarin (Pinyin) → English · 繁 and 简 | 125,264 records | 2026-10-13 | 2 days | CC BY-SA 4.0 | Search ↗ |
| HanDeDictMandarin–German | Mandarin (Pinyin) → German · 繁 and 简 | 160,731 records | 2026-10-14 | 1 day | CC BY-SA 3.0 | Search ↗ |
| CC-CantoCantonese–English | Cantonese (Jyutping) → English · 繁 and 简 | 34,335 entries | 2017-02-02 | 9.7 years | CC BY-SA 3.0 | Search ↗ |
| UnihanCharacter properties | Characters · Mandarin and Cantonese readings · English gloss | 8,243 characters | 2025-07-24 | 15 months | Unicode License V3 | Search ↗ |
| BabelStone IDSGraphical structure | Written form · all regions | 8,243 descriptions | 2025-06-27 | 16 months | Publisher permission | Search ↗ |
| Make Me a Hanzi · hanzi_lookupStroke order and handwriting | Written form · mainland stroke order | 9,507 characters | — | — | Arphic PL · LGPL-3.0 | Licence (Arphic PL) |
| PHONO-MLMiddle Chinese readings | Middle Chinese (Guangyun-based transcription) | 7,127 readings | 2026-01-13 | 9 months | CC BY 4.0 | Scholarship |
| CJKVI component analysisPhonetic components | Character formation | 2,623 pairs | 2018-02-20 | 8.7 years | GPL-2.0 | Scholarship |
| Kanseki RepositoryClassical witnesses | Literary Chinese · original witness script | 9,629 passages | 2017-03-23 | 9.6 years | CC BY-SA 4.0 | Search ↗ |
| TatoebaExample sentences | Mandarin and Cantonese → English | 39 pairs | 2026-10-13 | 2 days | CC BY 2.0 FR | Sentence reader |
Coverage compared
Words in three dictionaries
Distinct traditional headwords per source: CC-CEDICT 122,686, HanDeDict 159,362, CC-Canto 29,698. A shared written form is not a shared meaning; each source keeps its own senses.
| Headwords | Count | Share |
|---|---|---|
| Only in CC-CEDICT | 61,325 | |
| Only in HanDeDict | 97,454 | |
| Only in CC-Canto | 18,565 | |
| CC-CEDICT and HanDeDict, not CC-Canto | 52,396 | |
| CC-CEDICT and CC-Canto, not HanDeDict | 1,621 | |
| HanDeDict and CC-Canto, not CC-CEDICT | 2,168 | |
| In all three | 7,344 | |
| Distinct headwords in any of the three | 240,873 |
Script forms: the traditional and simplified spellings differ in 77,917 CC-CEDICT records (62.2%), 104,413 HanDeDict records (65%) and 18,112 CC-Canto entries (52.8%). Both forms are searchable and displayed independently.
8,243 characters, field by field
Levels are the three levels of the 通用规范汉字表 (2013); “Other forms” are the 138 records outside it, mostly traditional forms. List level is not frequency.
| Field source | Level 13,500 | Level 23,000 | Level 31,605 | Other forms138 | All8,243 |
|---|---|---|---|---|---|
| Mandarin readingUnihan kMandarin | 3,500100% | 3,000100% | 1,605100% | 138100% | 8,243100% |
| English character glossUnihan kDefinition | 3,499100% | 2,98599.5% | 1,27379.3% | 138100% | 7,89595.8% |
| English gloss, any sourceUnihan, else CC-CEDICT (labelled) | 3,500100% | 3,000100% | 1,605100% | 138100% | 8,243100% |
| Cantonese readingUnihan kCantonese | 3,500100% | 2,99899.9% | 1,56697.6% | 138100% | 8,20299.5% |
| Graphical description (IDS)BabelStone IDS | 3,500100% | 3,000100% | 1,605100% | 138100% | 8,243100% |
| Single-character word recordCC-CEDICT | 3,500100% | 2,99499.8% | 1,30281.1% | 138100% | 7,93496.3% |
| German single-character recordHanDeDict | 3,500100% | 2,97099% | 1,08267.4% | 13497.1% | 7,68693.2% |
| Cantonese single-character entryCC-Canto | 2,95384.4% | 1,53851.3% | 18011.2% | 12993.5% | 4,80058.2% |
| Stroke orderMake Me a Hanzi | 3,500100% | 2,86895.6% | 49230.7% | 13597.8% | 6,99584.9% |
| Handwriting recognisablehanzi_lookup | 3,500100% | 2,86895.6% | 49230.7% | 13597.8% | 6,99584.9% |
| Middle Chinese readingPHONO-ML | 2,38468.1% | 1,84761.6% | 90856.6% | 13597.8% | 5,27464% |
| Attributed phonetic componentCJKVI analysis | 1,14532.7% | 1,03334.4% | 38624% | 5942.8% | 2,62331.8% |
| Occurs in the Classical witnessesKanripo | 1,68048% | 90030% | 27517.1% | 11079.7% | 2,96536% |
Everyday Cantonese: a spot check
26 everyday Hong Kong words chosen by zimai’s editors, looked up as exact traditional headwords. This is not a frequency sample. 14 of 26 have no CC-Canto entry; where CC-CEDICT has the word, zimai shows its Mandarin–English record but never invents a Jyutping reading.
| Word | CC-Canto | Jyutping (CC-Canto) | CC-CEDICT | HanDeDict |
|---|---|---|---|---|
| 你好 | — | — | ● | ● |
| 多謝 | — | — | ● | — |
| 唔該 | ● | m4 goi1 | — | — |
| 早晨 | — | — | ● | ● |
| 點心 | — | — | ● | ● |
| 飲茶 | ● | jam2 caa4 | ● | ● |
| 香港 | — | — | ● | ● |
| 廣東話 | — | — | ● | ● |
| 粵語 | — | — | ● | ● |
| 佢哋 | ● | keoi5 dei6 | — | — |
| 乜嘢 | — | — | ● | — |
| 咩嘢 | ● | me1 je5 | — | — |
| 邊度 | ● | bin1 dou6 | — | — |
| 喺 | — | — | ● | ● |
| 冇 | ● | mou5 / mo5 | ● | ● |
| 嘅 | ● | koi3 / ge2 / ge3 | ● | ● |
| 睇 | ● | tai2 / dai6 | ● | ● |
| 食飯 | ● | sik6 faan6 | — | ● |
| 返工 | ● | faan1 gung1 | ● | ● |
| 靚仔 | ● | leng3 zai2 | ● | — |
| 巴士 | — | — | ● | ● |
| 的士 | — | — | ● | ● |
| 雪糕 | — | — | ● | ● |
| 士多 | — | — | ● | — |
| 埋單 | ● | maai4 daan1 | ● | ● |
| 搭車 | — | — | ● | ● |
Freshness
| Source | Edition | Age | Age bar | Update path |
|---|---|---|---|---|
| HanDeDict | 2026-10-14 | 1 day | The pinned commit is still the newest upstream export (checked 2026-10-15). Exports appear after edits. Update path: re-import, rebuild the 804 partitions, rerun ranking. | |
| Tatoeba | 2026-10-13 | 2 days | Tatoeba publishes weekly exports. A pinned per-language export with a licence manifest is the update path; it is not yet imported. | |
| CC-CEDICT | 2026-10-13 | 2 days | Upstream publishes a new export almost daily. Update path: re-import the pinned file, rebuild indexes, rerun the ranking script and the relevance benchmark. | |
| PHONO-ML | 2026-01-13 | 9 months | The pinned commit is still upstream HEAD (checked 2026-10-15). | |
| Unihan | 2025-07-24 | 15 months | Unicode publishes Unihan every September. Unihan 18.0.0 (2026) is available upstream and not imported; the claimed edition changes only with a real migration and diff. | |
| BabelStone IDS | 2025-06-27 | 16 months | No newer file since 2025-06-27 (checked 2026-10-15). Update path: re-select by code point and diff descriptions. | |
| CJKVI component analysis | 2018-02-20 | 8.7 years | No upstream change since 2019. | |
| Kanseki Repository | 2017-03-23 | 9.6 years | All eight pinned commits are still the newest on their edition branches (checked 2026-10-15). | |
| CC-Canto | 2017-02-02 | 9.7 years | Frozen upstream (last edition 2017-02-02, rechecked 2026-10-15). The same publisher’s separate “Cantonese readings for CC-CEDICT” file (2015-09-23, CC BY-SA 3.0) is the known path to Jyutping for CC-CEDICT words; it is not installed. |
Speed
Lookup stays fast because no source loads as a whole. Each pack is split into small files; a search reads only the partitions its query needs, and a pack loads only when you choose its language. The lookup table every page starts with is 33 KB (8 KB gzip). Measured for 0.17.0 on 2026-10-15 (Chromium 152, macOS, device pixel ratio 1, loopback server): first Mandarin–English results painted in 15–57 ms after load and 13–36 ms warm; Mandarin–German in 13–36 ms. An English-only first visit made 0 German and 0 Cantonese pack requests. Loopback timings are a regression baseline, not a device measurement.
| Pack | Loads | Files | On disk | Typical file | Largest file |
|---|---|---|---|---|---|
| CC-CEDICT search partitions | one or two per query, after the first keystroke | 347 | 19.4 MB | 50 KB · 23 KB gz | 78 KB · 24 KB gz |
| CC-CEDICT word shards | for visible results | 1,960 | 38 MB | 20 KB · 4 KB gz | 23 KB · 5 KB gz |
| CC-CEDICT entry records | server-rendered entries | 4,352 | 229.1 MB | 30 KB · 8 KB gz | 495 KB · 118 KB gz |
| HanDeDict search partitions | only after Meanings in: Deutsch | 804 | 30.5 MB | 34 KB · 13 KB gz | 176 KB · 30 KB gz |
| HanDeDict entry shards | only for German results | 4,096 | 210.2 MB | 53 KB · 10 KB gz | 89 KB · 16 KB gz |
| CC-Canto search partitions | only with Chinese: Cantonese | 135 | 4.6 MB | 35 KB · 10 KB gz | 35 KB · 13 KB gz |
| CC-Canto entry shards | only for Cantonese results | 4,350 | 79.6 MB | 10 KB · 2 KB gz | 198 KB · 38 KB gz |
| Character catalog shards | Characters view and grid | 65 | 1.2 MB | 19 KB · 4 KB gz | 20 KB · 5 KB gz |
| Stroke-order files | one per character, on Play | 6,963 | 7.2 MB | 1 KB · 655 B gz | 2 KB · 953 B gz |
| Handwriting recogniser | only when the pen pad opens | 3 | 972 KB | — | — |
| Classical search chunks | only in Classical search | 77 | 2.5 MB | 33 KB · 9 KB gz | 47 KB · 16 KB gz |
Dictionaries
CC-CEDICT Mandarin–English
- Covers
- 125,264 source records (header declares 125,264) plus 136 separately attributed zimai editorial word records. 122,686 distinct traditional and 121,500 distinct simplified headwords; the two forms differ in 77,917 records. 13,528 single-character and 111,736 multi-character records; 199,737 definition segments, 1,460 with classifier notes, 20,199 proper names.Mandarin (Pinyin) → English · 繁 and 简
- Licence & attribution
- CC-CEDICT contributors; published by MDBG. Portions © 1997–98 Paul Andrew Denisowski (CEDICT).
- How zimai transforms it
- Every source row, numbered reading and definition boundary is kept with its SHA-256 line hash. Display Pinyin is derived; search indexes fold case and tone marks without merging records. The declared ranking (definition-grade v2) orders results; it is not frequency.
- Known gaps
- No Cantonese readings and no example sentences. Glosses are terse; a record is not a sense inventory. No usage frequency.
- Freshness & update path
- Edition 2026-10-13, 2 days before 2026-10-15. Upstream publishes a new export almost daily. Update path: re-import the pinned file, rebuild indexes, rerun the ranking script and the relevance benchmark.
- Speed
- CC-CEDICT search partitions: 347 files, 19.4 MB on disk, largest 78 KB (24 KB gzip); loads one or two per query, after the first keystroke. CC-CEDICT word shards: 1,960 files, 38 MB on disk, largest 23 KB (5 KB gzip); loads for visible results. CC-CEDICT entry records: 4,352 files, 229.1 MB on disk, largest 495 KB (118 KB gzip); loads server-rendered entries.
Search CC-CEDICT ↗Word indexEdition, attribution, licenceLicence notice
HanDeDict Mandarin–German
- Covers
- 160,731 records with original German definitions; 159,362 distinct traditional and 159,056 distinct simplified headwords (forms differ in 104,413 records). 3,165 “Bsp.” example pairs in 944 records; 120,241 records carry a part-of-speech label. Edit history: 380,013 logged versions by 48 usernames, 2011-05-28 to 2026-10-13.Mandarin (Pinyin) → German · 繁 and 简
- Licence & attribution
- HanDeDict contributors (per-entry usernames retained), published by Gábor L Ugray; originally supported by Chinesisch-Deutsche Gesellschaft e.V. Hamburg under Dr. Michael Klaus Engel and Jan Hefti.
- How zimai transforms it
- Active rows are parsed without changing spelling, reading or definition segments. Search-only aliases for case, umlauts, ß/ss and marked or numbered Pinyin. The full export with every contributor history ships unchanged as handedict.u8.gz. No English sense is merged in and no German is generated.
- Known gaps
- No Cantonese–German dictionary exists among the open sources; zimai says so instead of falling back. German “Bsp.” examples are held but not yet shown as sentences. The upstream README states CC BY-SA 2.0; the export header states 3.0, which zimai follows and documents.
- Freshness & update path
- Edition 2026-10-14, 1 day before 2026-10-15. The pinned commit is still the newest upstream export (checked 2026-10-15). Exports appear after edits. Update path: re-import, rebuild the 804 partitions, rerun ranking.
- Speed
- HanDeDict search partitions: 804 files, 30.5 MB on disk, largest 176 KB (30 KB gzip); loads only after Meanings in: Deutsch. HanDeDict entry shards: 4,096 files, 210.2 MB on disk, largest 89 KB (16 KB gzip); loads only for German results.
CC-Canto Cantonese–English
- Covers
- 34,335 entries with source Jyutping; 29,698 distinct traditional and 29,476 distinct simplified headwords (forms differ in 18,112 entries). 34,276 entries also give Pinyin; 9,940 are single characters. 138 nonstandard readings are kept as written; 8,882 entries are marked by Pleco as adapted from CC-CEDICT.Cantonese (Jyutping) → English · 繁 and 简
- Licence & attribution
- Copyright © 2015–17 Pleco Inc.
- How zimai transforms it
- Exact forms, source Jyutping, Pinyin reference, definition segments, inline comments and line hashes retained. Slash-separated Jyutping alternatives are indexed separately; all six tone numbers stay significant and Jyutping never passes through Mandarin normalisation. No generated pronunciations.
- Known gaps
- CC-Canto was designed as a supplement to CC-CEDICT, so many everyday words that CC-CEDICT already lists have no CC-Canto entry: of the 122,686 CC-CEDICT traditional headwords, 8,965 also have one. See the spot check above. No newer edition has been published since 2017.
- Freshness & update path
- Edition 2017-02-02, 9.7 years before 2026-10-15. Frozen upstream (last edition 2017-02-02, rechecked 2026-10-15). The same publisher’s separate “Cantonese readings for CC-CEDICT” file (2015-09-23, CC BY-SA 3.0) is the known path to Jyutping for CC-CEDICT words; it is not installed.
- Speed
- CC-Canto search partitions: 135 files, 4.6 MB on disk, largest 35 KB (13 KB gzip); loads only with Chinese: Cantonese. CC-Canto entry shards: 4,350 files, 79.6 MB on disk, largest 198 KB (38 KB gzip); loads only for Cantonese results.
Characters
Unihan Character properties
- Covers
- 8,243 character records: all 8,105 of the 通用规范汉字表 (2013), identified by kTGH (3,500 / 3,000 / 1,605 by level), plus 138 other forms. 80,119 further reference values (dictionary locators, Japanese, Korean, Vietnamese, fanqie, Cangjie and more) on 8,243 characters.Characters · Mandarin and Cantonese readings · English gloss
- Licence & attribution
- Unicode, Inc.
- How zimai transforms it
- Values are selected by exact code point from the pinned archive and never copied to a variant. Standard-list position is list membership, not a frequency rank.
- Known gaps
- 348 characters have no kDefinition gloss and 41 no kCantonese reading; those gaps stay visible. kCantonese is a character-level reading for collation, not a word pronunciation.
- Freshness & update path
- Edition 2025-07-24, 15 months before 2026-10-15. Unicode publishes Unihan every September. Unihan 18.0.0 (2026) is available upstream and not imported; the claimed edition changes only with a real migration and diff.
- Speed
- Character catalog shards: 65 files, 1.2 MB on disk, largest 20 KB (5 KB gzip); loads Characters view and grid.
Search characters ↗Character indexReference valuesSelected input rows
BabelStone IDS Graphical structure
- Covers
- 8,243 exact descriptions for the catalog; 1,096 characters have region-specific alternatives (G, H, T, J, K, P, V tags kept); 32 are atomic.Written form · all regions
- Licence & attribution
- Andrew West (魏安) Publisher permits personal and commercial reuse; statement and source header retained..
- How zimai transforms it
- Descriptions and region tags are kept exactly; zimai reads them aloud in words (“left 氵, right 青”) and uses them for parts: search. Shape is not etymology.
- Known gaps
- Describes modern shapes only, not historical formation. Incomplete descriptions remain marked rather than guessed.
- Freshness & update path
- Edition 2025-06-27, 16 months before 2026-10-15. No newer file since 2025-06-27 (checked 2026-10-15). Update path: re-select by code point and diff descriptions.
Make Me a Hanzi · hanzi_lookup Stroke order and handwriting
- Covers
- Medians for 9,507 characters; 6,995 of zimai’s 8,243 character pages have a stroke-order player (6,963 repackaged medians plus 32 dossier stroke files). The recogniser knows the same 9,507 characters.Written form · mainland stroke order
- Licence & attribution
- Shaunak Kishore (Make Me a Hanzi) from Arphic PL KaitiM GB and UKai (© 1999 Arphic Technology); recogniser by Gábor L Ugray after Jordan Kiang’s HanziLookup.
- How zimai transforms it
- Medians are repackaged one file per character with a notice; points and order unchanged. The recogniser ships unmodified as WebAssembly; zimai only prepares the input strokes and fuses two preparations.
- Known gaps
- 1,248 catalog characters have no stroke data. Stroke order is the mainland (PRC) convention only; Taiwan and Hong Kong orders differ for some components.
- Freshness & update path
- Make Me a Hanzi’s data last changed in 2018. Update path for missing and Taiwan-standard characters: an Arphic-licensed extension such as animCJK (not installed).
- Speed
- Stroke-order files: 6,963 files, 7.2 MB on disk, largest 2 KB (953 B gzip); loads one per character, on Play. Handwriting recogniser: 3 files, 972 KB on disk; loads only when the pen pad opens.
Licence (Arphic PL)Recogniser licence (LGPL-3.0)Make Me a Hanzi notice
Scholarship
PHONO-ML Middle Chinese readings
- Covers
- 7,127 readings on 5,274 exact character matches, with fanqie, categories and identifiers aligned.Middle Chinese (Guangyun-based transcription)
- Licence & attribution
- Guillaume Jacques and Alexandre Delaporte (CRLAO)
- How zimai transforms it
- Exact catalog intersection; semicolon-aligned fields split without normalisation; nothing copied across simplified/traditional variants.
- Known gaps
- Generated automatically from Guangyun and checked on a subset by its authors; errors remain possible. Characters outside the matched set have no reading.
- Freshness & update path
- Edition 2026-01-13, 9 months before 2026-10-15. The pinned commit is still upstream HEAD (checked 2026-10-15).
CJKVI component analysis Phonetic components
- Covers
- 2,623 characters, each with one attributed “聲” (phonetic) component; source row, comment and reference number kept for every one.Character formation
- Licence & attribution
- Taichi Kawabata and the CJKVI project
- How zimai transforms it
- Only explicit single-character 聲 labels with both ends in the catalog. No 亦聲/省聲, no variant chains, no inferred semantic roles.
- Known gaps
- Traditional analyses are not invariably correct (Hill & List 2019). A phonetic series does not prove a shared word origin.
- Freshness & update path
- Edition 2018-02-20, 8.7 years before 2026-10-15. No upstream change since 2019.
Texts & sentences
Kanseki Repository Classical witnesses
- Covers
- 8 complete witnesses (論語、孟子、老子、莊子、荀子、韓非子、孫子、詩經): 279 reading sections, 9,629 passages, 350,752 Han occurrences of 5,184 distinct graphs.Literary Chinese · original witness script
- Licence & attribution
- Kanseki Repository (Kanripo) contributors; base-edition labels kept in each file.
- How zimai transforms it
- Text is split into passages without rewriting; quotations never follow the script preference. Teaching notes and excerpt translations are an AI-assisted pilot on top, labelled as such.
- Known gaps
- Contextual teaching notes cover 172 passages, not all. No full translation is imported.
- Freshness & update path
- Edition 2017-03-23, 9.6 years before 2026-10-15. All eight pinned commits are still the newest on their edition branches (checked 2026-10-15).
- Speed
- Classical search chunks: 77 files, 2.5 MB on disk, largest 47 KB (16 KB gzip); loads only in Classical search.
Tatoeba Example sentences
- Covers
- 39 sentence pairs (33 Mandarin, 6 Cantonese) linked to 53 word records and 179 characters; 446 candidates were excluded for unresolved attribution.Mandarin and Cantonese → English
- Licence & attribution
- Individual Tatoeba contributors, credited per sentence and per translation. some sentences CC0; each sentence and translation keeps its own licence.
- How zimai transforms it
- Original spelling, punctuation and translations preserved; added-by contributor, editors and current owner resolved from the official logs.
- Known gaps
- A small demonstration set, not a corpus. No audio, no German translations yet.
- Freshness & update path
- Edition 2026-10-13, 2 days before 2026-10-15. Tatoeba publishes weekly exports. A pinned per-language export with a licence manifest is the update path; it is not yet imported.
How this page is made
Generated by scripts/build-catalog-sources.mjs from the pinned source files and the shipped packs: CC-CEDICT dace310e1279, HanDeDict 6e49900d4c54, CC-Canto archive 0cc9e600a19c (SHA-256 prefixes). Linked and consulted references without a reuse grant (CUHK, Taiwan Ministry of Education entries) stay as links on Sources. Fonts and code libraries are listed under Credits & rights.