How to Convert Full-width, Half-width, Katakana, and Hiragana in PHP|How to Use mb_convert_kana and Complete Option List
To convert character types in PHP—such as full-width, half-width, katakana, and hiragana—the mb_convert_kana function is extremely useful.
This page explains the meaning of each conversion mode (option), commonly used combinations, and practical code examples.
It is helpful when you want to do things like “convert full-width alphanumeric characters to half-width” or “convert hiragana to katakana.”
To use mb_* functions, the mbstring extension must be installed (it is usually enabled by default).
php.ini
extension=mbstring
Usage:
$str = mb_convert_kana("string to convert", "conversion options", ["character encoding"])
You can specify any combination of the conversion options listed below.
| Option | Description |
|---|---|
| r |
Convert full-width alphabetic characters to half-width echo mb_convert_kana("AaAaがガガ123", "r"); AaAaがガガ123 |
| R |
Convert half-width alphabetic characters to full-width echo mb_convert_kana("AaAaがガガ123", "R"); AaAaがガガ123 |
| n |
Convert full-width numbers to half-width numbers echo mb_convert_kana("AaAaがガガ123", "n"); AaAaがガガ123 |
| N |
Convert half-width numbers to full-width numbers echo mb_convert_kana("AaAaがガガ123", "N"); AaAaがガ123 |
| a |
Convert full-width alphanumeric characters to half-width echo mb_convert_kana("AaAaがガガ123", "a"); AaAaがガガ123 |
| A |
Convert half-width alphanumeric characters to full-width echo mb_convert_kana("AaAaがガガ123", "A"); AaAaがガ123 |
| s |
Convert full-width spaces to half-width spaces echo mb_convert_kana("A A", "s"); A A |
| S |
Convert half-width spaces to full-width spaces echo mb_convert_kana("A A", "S"); A A |
| k |
Convert full-width Katakana to half-width Katakana echo mb_convert_kana("AaAaがガガ123", "k"); AaAaがガガ123 |
| K |
Convert half-width Katakana to full-width Katakana (voiced/semi-voiced marks remain separate characters) echo mb_convert_kana("AaAaがガガ123", "K"); AaAaがガガ123 |
| KV |
Convert half-width Katakana to full-width Katakana (voiced/semi-voiced marks are combined into one character) echo mb_convert_kana("AaAaがガガ123", "KV"); AaAaがガガ123 |
| h |
Convert full-width Hiragana to half-width Katakana echo mb_convert_kana("AaAaがガガ123", "h"); AaAaがガガ123 |
| H |
Convert half-width Katakana to full-width Hiragana (voiced/semi-voiced marks remain separate characters) echo mb_convert_kana("AaAaがガガ123", "H"); AaAaがガガ123 |
| HV |
Convert half-width Katakana to full-width Hiragana (voiced/semi-voiced marks are combined into one character) echo mb_convert_kana("AaAaがガガ123", "HV"); AaAaがガガ123 |
| c |
Convert full-width Katakana to full-width Hiragana echo mb_convert_kana("AaAaがガガ123", "c"); AaAaがガガ123 |
| C |
Convert full-width Hiragana to full-width Katakana echo mb_convert_kana("AaAaがガガ123", "C"); AaAaがガガ123 |
You can also combine multiple options as shown below.
echo mb_convert_kana("AaAaがガガ 123", "ASHVc");
AaAaがガガ 123
↓
AaAaががが 123
Combining it with the mb_strtoupper function converts the result to uppercase.
echo mb_strtoupper(mb_convert_kana("AaAaがガガ 123", "ASHVc"));
AaAaがガガ 123
↓
AAAAががが 123
Combining it with the mb_strtolower function converts the result to lowercase.
echo mb_strtolower(mb_convert_kana("AaAaがガガ 123", "ASHVc"));
AaAaがガガ 123
↓
aaaaががが 123
