Front-end only · Runs locally · Free & open source

Pinyin & Zhuyin Annotator

Paste an article → pinyin or zhuyin is generated above each character → print / export PDF. Reading materials for kindergarten and lower-grade kids

See all versions
337KDictionary entries
9Notation systems
12Interface languages

Choose a version

Lite

mini.html · ~1 MB

  • Smallest download — fine on old laptops and phones
  • Pinyin, Zhuyin and nine notations, switch anytime
  • Read mode and print / PDF included
  • Interface in 12 languages
  • No word dictionary — per character only

Best for: annotation only, no grouping needed

Recommended

Standard

pinyin.html · ~1.4 MB

  • 30k common words, grouped like a textbook
  • Better polyphone accuracy (银行 yín háng)
  • Click a character to fix it, split or join words
  • Read mode, print / PDF, five copy formats
  • Optional Zhuyin and Taiwan readings

Best for: everyday reading sheets (most families)

Full Dictionary

plus.html · ~7.2 MB

  • 337k words — idioms, names and places stay whole (刻舟求剑)
  • Everything in Standard
  • One-click Simplified ⇄ Traditional
  • Zhuyin, read mode, long-text printing included
  • Slower first load, instant after that

Best for: teachers, idioms, advanced material

Zhuyin

zhuyin.html · ~2.3 MB

  • Opens in Traditional Chinese with Zhuyin
  • Horizontal / vertical, like Taiwan textbooks
  • Taiwan readings (MOE dictionary)
  • Simplified ⇄ Traditional + BpmfIansui IVS
  • Switch back to Hanyu Pinyin anytime

Best for: TW/HK/MO users, Zhuyin teaching

Same interface, layout, printing and read mode in all four — only the dictionary and simplified/traditional conversion differ.

Key Features

Nine notations: Pinyin, Zhuyin, Yale, Wade-Giles, GR, Cyrillic…
Textbook layout: pinyin above characters, neutral tone unmarked (妈妈 mā ma)
yī/bù sandhi: 一个 → yí gè, or keep base tones
Erhua modes: 花儿 huā er / huār, fix a wrong guess in one click
Taiwan readings: MOE dictionary, 15k word differences (垃圾 ㄌㄜˋㄙㄜˋ)
Zhuyin layouts: ㄅㄆㄇ above each character, or stacked to the right
Simplified ⇄ Traditional: OpenCC, regional vocabulary included
A4 WYSIWYG: automatic pagination, no pages lost in the PDF
Tricky chars shaded: polyphones, 的/地/得, 一/不
Click to fix: neutral tone, erhua, word breaks
Read mode: sentence highlight, speech, mic follow-along
Fully local: nothing uploaded, works offline

Which version?

Lite Standard(rec.) Full Dictionary Zhuyin
Size~1 MB约 1.4 MB约 7.2 MB约 2.3 MB
Word grouping—30k words337k words30k words
Idioms / rare words—partial✅partial
Nine notations✅✅✅✅
Zhuyin / Taiwan readings✅✅✅✅ on by default
Simplified ⇄ Traditional——✅✅
BpmfIansui IVS———✅
Read mode / speech✅✅✅✅
Long text / batch print✅✅✅✅
Best forannotation onlydaily home useteachers / advancedTW·HK·MO / Zhuyin

FAQ

Does it need internet?
No. All four are single files with the engine, dictionaries, Taiwan readings and conversion data embedded — they work offline. Only online fonts, engine update checks and the first PDF merge go online, and none of them touch your text.
Does it work on a phone?
Yes. The layout stacks vertically on narrow screens and paging becomes continuous scrolling. Phones can't install local fonts — just use the built-in Andika pinyin font; read mode, speech and mic follow-along work as usual.
How long can the text be?
Up to 2 million characters at a time. Beyond 30,000 it switches to long-text mode and stays responsive; when printing you can pick a page range, or print in batches (100 pages each) and merge them into one PDF.
Where do Taiwan readings come from?
The MOE 《重編國語辭典修訂本》 (g0v Moedict open data), covering ~15k words and ~200 characters that differ across the strait, such as 垃圾 ㄌㄜˋㄙㄜˋ and 星期 ㄑ丨ˊ. Works in both Pinyin and Zhuyin; switch back to mainland readings anytime.
Picked the wrong version?
Come back to this page and pick again (drop the file name from the address bar). All four work the same way; text and settings are stored separately.
Are polyphone readings always right?
None is 100%. Dictionaries differ by version, so accuracy does too (Full Dictionary is highest). Before using it with a child, turn on “Tricky chars”, and click any wrong character to fix its reading.