{"id":2545,"library":"jaconv","title":"Japanese Character Interconverter","description":"jaconv is a pure-Python library designed for interconverting Japanese characters, including Hiragana, Katakana, Hankaku (half-width), Zenkaku (full-width), and Romaji. It provides a straightforward API for various common text processing tasks involving Japanese script. The library is actively maintained, with its latest version being 0.5.0, and has a consistent release cadence addressing bug fixes and improvements.","status":"active","version":"0.5.0","language":"en","source_language":"en","source_url":"https://github.com/ikegami-yukino/jaconv","tags":["japanese","character-conversion","hiragana","katakana","hankaku","zenkaku","romaji","text-processing"],"install":[{"cmd":"pip install jaconv","lang":"bash","label":"Install jaconv"}],"dependencies":[],"imports":[{"symbol":"jaconv","correct":"import jaconv"}],"quickstart":{"code":"import jaconv\n\n# Hiragana to Katakana\nh_to_k = jaconv.hira2kata('ともえまみ') # => 'トモエマミ'\nprint(f\"Hiragana to Katakana: {h_to_k}\")\n\n# Katakana to Hiragana\nk_to_h = jaconv.kata2hira('巴マミ') # => '巴まみ'\nprint(f\"Katakana to Hiragana: {k_to_h}\")\n\n# Half-width character to Full-width character\nh_to_z = jaconv.h2z('ﾃｨﾛ・ﾌｨﾅｰﾚabc123', kana=True, ascii=True, digit=True) # => 'ティロ・フィナーレａｂｃ１２３'\nprint(f\"Half-width to Full-width: {h_to_z}\")\n\n# Full-width character to Half-width character\nz_to_h = jaconv.z2h('ティロ・フィナーレａｂｃ１２３', kana=True, ascii=True, digit=True) # => 'ﾃｨﾛ・ﾌｨﾅｰﾚabc123'\nprint(f\"Full-width to Half-width: {z_to_h}\")\n\n# Alphabet to Hiragana\nalph_to_hira = jaconv.alphabet2kana('japan') # => 'じゃぱん'\nprint(f\"Alphabet to Hiragana: {alph_to_hira}\")\n\n# Hiragana to Alphabet (Hepburn-style)\nhira_to_alph = jaconv.kana2alphabet('じゃぱん') # => 'japan'\nprint(f\"Hiragana to Alphabet: {hira_to_alph}\")","lang":"python","description":"Convert between Hiragana, Katakana, Half-width, Full-width, and Romaji characters using jaconv's core functions."},"warnings":[{"fix":"Always test conversion outputs thoroughly after upgrading `jaconv`. Refer to release notes for specific bug fixes related to these functions, especially for `small-kana` and `alphabet2kana` behavior changes in v0.5.0.","message":"The conversion logic for `alphabet2kana` and `kana2alphabet` functions, especially concerning small kana and specific romanization rules, has undergone several bug fixes and refinements across various versions (e.g., 0.2.3, 0.3, 0.5.0). This may lead to different conversion results for the same input when migrating between `jaconv` versions.","severity":"gotcha","affected_versions":"All versions prior to 0.5.0, and potentially some older 0.x releases."},{"fix":"Update calls from `hankaku2zenkaku` to `jaconv.h2z` and `zenkaku2hankaku` to `jaconv.z2h`.","message":"Some original function names, such as `hankaku2zenkaku` and `zenkaku2hankaku`, were deprecated in very early versions (e.g., 0.1) in favor of more concise and commonly used aliases like `h2z` and `z2h`. While the deprecated names might still function for backward compatibility in some cases, it is strongly recommended to use the modern aliases for clarity and future-proofing.","severity":"deprecated","affected_versions":"Deprecated since v0.1.x."}],"env_vars":null,"last_verified":"2026-04-10T00:00:00.000Z","next_check":"2026-07-09T00:00:00.000Z"}