Development Status
- 5 - Production/Stable
Intended Audience
- Developers
- Information Technology
Natural Language
- Japanese
Operating System
- MacOS
- Microsoft
- POSIX
Programming Language
- Python :: 2.7
- Python :: 3
- Python :: 3.4
- Python :: 3.5
- Python :: 3.6
- Python :: 3.7
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
Topic
- Text Processing
- Text Processing :: General
jaconv
jaconv (Japanese Converter) is interconverter for Hiragana, Katakana, Hankaku (half-width character) and Zenkaku (full-width character)
Japanese README is available.
INSTALLATION
$ pip install jaconv
USAGE
See also document
import jaconv
# Hiragana to Katakana
jaconv.hira2kata('ともえまみ')
# => 'トモエマミ'
# Hiragana to half-width Katakana
jaconv.hira2hkata('ともえまみ')
# => 'トモエマミ'
# Katakana to Hiragana
jaconv.kata2hira('巴マミ')
# => '巴まみ'
# half-width character to full-width character
# default parameters are followings: kana=True, ascii=False, digit=False
jaconv.h2z('ティロ・フィナーレ')
# => 'ティロ・フィナーレ'
# half-width character to full-width character
# but only ascii characters
jaconv.h2z('abc', kana=False, ascii=True, digit=False)
# => 'abc'
# half-width character to full-width character
# but only digit characters
jaconv.h2z('123', kana=False, ascii=False, digit=True)
# => '123'
# half-width character to full-width character
# except half-width Katakana
jaconv.h2z('アabc123', kana=False, digit=True, ascii=True)
# => 'アabc123'
# an alias of h2z
jaconv.hankaku2zenkaku('ティロ・フィナーレabc123')
# => 'ティロ・フィナーレabc123'
# full-width character to half-width character
# default parameters are followings: kana=True, ascii=False, digit=False
jaconv.z2h('ティロ・フィナーレ')
# => 'ティロ・フィナーレ'
# full-width character to half-width character
# but only ascii characters
jaconv.z2h('abc', kana=False, ascii=True, digit=False)
# => 'abc'
# full-width character to half-width character
# but only digit characters
jaconv.z2h('123', kana=False, ascii=False, digit=True)
# => '123'
# full-width character to half-width character
# except full-width Katakana
jaconv.z2h('アabc123', kana=False, digit=True, ascii=True)
# => 'アabc123'
# an alias of z2h
jaconv.zenkaku2hankaku('ティロ・フィナーレabc123')
# => 'ティロ・フィナーレabc123'
# normalize
jaconv.normalize('ティロ・フィナ〜レ', 'NFKC')
# => 'ティロ・フィナーレ'
# Convert small Hiragana or Katakana to normal size
jaconv.enlarge_smallkana('わぁい')
# => 'わあい'
jaconv.enlarge_smallkana('きょういっぱい', ignore='っ')
# => 'きよういっぱい'
# Hiragana to alphabet
jaconv.kana2alphabet('じゃぱん')
# => 'japan'
# Alphabet to Hiragana
jaconv.alphabet2kana('japan')
# => 'じゃぱん'
# Katakana to Alphabet
jaconv.kata2alphabet('ケツイ')
# => 'ketsui'
# Alphabet to Katakana
jaconv.alphabet2kata('namba')
# => 'ナンバ'
# Hiragana to Julius's phoneme format
jaconv.hiragana2julius('てんきすごくいいいいいい')
# => 't e N k i s u g o k u i:'
NOTE
jaconv.normalize method expand unicodedata.normalize for Japanese language processing.
'〜' => 'ー'
'~' => 'ー'
"’" => "'"
'”'=> '"'
'“' => '``'
'―' => '-'
'‐' => '-'
'˗' => '-'
'֊' => '-'
'‐' => '-'
'‑' => '-'
'‒' => '-'
'–' => '-'
'⁃' => '-'
'⁻' => '-'
'₋' => '-'
'−' => '-'
'﹣' => 'ー'
'-' => 'ー'
'—' => 'ー'
'―' => 'ー'
'━' => 'ー'
'─' => 'ー'
CHANGES
0.5.0 (2026-02-08)
Add new func. enlarge_smallkana.
The alphabet2kana func. converts “si” to “し”.
Fix conversion bugs in alphabet2kana and kana2alphabet func.
Fix bugs about small-kana in kana2alphabet func.
Add docstring to alias functions
0.4.1 (2025-11-30)
port static configs to setup.cfg (thanks @eli-schwartz)
migrate testsuite to pytest (thanks @eli-schwartz)
Support Python 3.13 and 3.14
0.4.0 (2024-07-26)
Support Python 3.12
Add stub files according to PEP 561 for mypy (thanks @ernix)
0.3.4 (2023-02-18)
Fix to support Python2.7 ~ 3.4 (thanks @manjuu-eater)
Support Python 3.11
0.3.3 (2022-12-31)
Support Python 3.10
Re-support Python2.7 ~ 3.4 (thanks @manjuu-eater)
Fix z2h, h2z all flag off bug (thanks @manjuu-eater)
0.3.1 (2022-12-14)
Fix alpha2kana infinite loop bug (thanks @frog42)
0.3 (2021-03-29)
Fix bug (alphabet2kana) thanks @Cuddlemuffin007
Support Python 3.8 and 3.9
Add handy functions: alphabet2kata and kata2alphabet. thanks @kokimame
Add function for julius: hiragana2julius
0.2.4 (2018-02-04)
Fix bug (kana2alphabet)
Support Python 3.7
No longer support Python 2.6
Add aliases of z2h -> zenkaku2hankaku and h2z -> hankaku2zenkaku
0.2.3 (2018-02-03)
Fix bugs (alphabet2kana, kana2alphabet) thanks @letuananh
0.2.2 (2018-01-22)
Fix bug (kana2alphabet) thanks @kokimame
Support Python 3.6
0.2.1 (2017-09-14)
Fix bugs (alphabet2kana, kana2alphabet)
0.2 (2015-04-02)
Change module name jctconv -> jaconv
Add alphabet and hiragana interconvert (alphabet2kana, kana2alphabet)
0.1.1 (2015-03-12)
Support Windows
Support Python 3.5
0.1 (2014-11-24)
Add some Japanese characters to convert table (ゝゞ・「」。、)
Decresing memory usage
Some function names are deprecated (hankaku2zenkaku, zenkaku2hankaku, H2K, H2hK, K2H)
0.0.7 (2014-03-22)
z2h and h2z allow mojimoji-like target character type determination. Bug fix about Half Kana conversion.