Try the input
Mixed-language preedit
Typing tips Segment correction, Japanese romaji
A dotted Chinese underline suggests a close alternative. Click a segment or press ↓ to correct it. In the menu: ←/→ move, Shift+←/→ change the Chinese span, ↑/↓ choose, Home/End jump, 1–9 select, Enter applies. The next Enter commits. Escape cancels before clearing. Space keeps typing. Tab moves focus. After applying a Chinese or English choice, reopen its menu and choose Remember to save it explicitly.
Japanese: try sakura, gakkou or ko-hi-. Click a katakana candidate to select it. A trailing n resolves on Space or Enter; use nn or n' for ん before a vowel or y. Both n keys are consumed: shinnyou → しんよう; konnna → こんな. Other unfinished consonants remain literal.
Debug & test capture Blind capture, test cases, debug report
Copies current input, candidates, selected trace, dictionary counts and browser details. No committed history or custom dictionary contents.
Review captured report
Enabling starts a fresh buffer. Type without predictions, then press Enter or Save test case and enter the intended text with your OS IME.
·Explicit captures only. Review the expected output before saving; nothing is uploaded. Captures include raw input and settings, not committed history or your custom dictionary list. Browser storage may be cleared; export to keep a copy.
Review captured test case
中文詞庫
新增單字或詞語,讀音使用注音符號,音節以空格分隔。一聲不加調號,例如:ㄎㄜ ㄐㄧˋ → 科技。此處照一般文字輸入,不轉換鍵盤位置。
自訂詞條保存在此瀏覽器;清除瀏覽器資料可能會移除詞條。
Remembered English words preserve exact case and prefer English for the same keys in either layout. Entries are local, inspectable and removable; remembering is always explicit.
What this prototype can do Scope & supported vocabulary
Expandable dictionary, real decoding
Several interpretations compete as you type. One Space permits a language change. First-tone completion spaces print nothing; every extra space stays visible. Scores are simple heuristics, not confidence percentages.
The shared Rust engine runs locally in your browser through WebAssembly. This playground is not yet a system-wide IME.
Try these Japanese readings
Romaji now composes hiragana and katakana beyond the word dictionary: sakura → さくら, gakkou → がっこう, ryokou → りょこう, ko-hi- → コーヒー (choose the alternative). Try shinyou → しにょう versus shinnyou / shin'you → しんよう. Pending consonants stay visible while typing.
Mozc-table romaji converts complete readings through a 69,097-entry subset of Mozc's open-source dictionary: sakura → 桜, gakkou → 学校, ryokou → 旅行, toukyou → 東京, ko-hi- → コーヒー. Alternatives follow Mozc's standalone cost order, so arigatou still offers ありがとう first and 有難う next. A trailing pending n stays kana until a boundary follows. Conversion is per token; word-plus-particle spellings such as kyouha are not split. Automatic language ranking is experimental; select another candidate when needed.
Zhuyin: reorder and replace
Enter 聲母, 介音 and 韻母 in any order. The latest symbol in each slot wins. A tone key (Space, 6, 3, 4 or 7) finalizes that syllable; subsequent symbols start a new one.
us3lc3 → 你好 · /j5␣ → 中. Try “Replace before tone” and replay it to watch all three slots change. Unknown syllables remain in Zhuyin; the dictionary is still limited.
Chinese examples (QWERTY keys)
su3cl3 你好 · 2k7u/ jp6g4 的英文是 · 5j/ jp6 中文
Other words may stay as a literal fallback in the selected layout. Live typing uses physical key positions; select Colemak here if that is the layout you want to type. The field shows QWERTY key positions for inspection. Paste is still interpreted as QWERTY-encoded text.
Chinese vocabulary includes a frequency-ordered McBopomofo subset; English word evidence uses SCOWL spellings with ECDICT frequency ranks; Japanese conversion uses a cost-ordered Mozc open-source dictionary subset. Contextual ranking remains limited. Dictionary sources and licenses