Full-Width Half-Width Converter

Choose the target width. The converter uses explicit ASCII and Katakana character tables and leaves unsupported characters unchanged.

Target width

Convert the width forms used in mixed Japanese and Latin text without translating or broadly normalizing the passage. Choose full-width output or half-width output for up to 10,000 Unicode code points. The tool uses explicit ASCII, punctuation and Katakana mappings in the current browser session, so Kanji, Hiragana, emoji and every unlisted character remain as entered.

Full-width and half-width forms are distinct Unicode characters, not merely a font-size setting. Section 18.5 of the Unicode 17 Core Specification explains their origin in East Asian systems that displayed double-byte characters in two cells and ASCII or similar single-byte characters in one. Unicode kept the corresponding forms so older mixed-width text could be converted without losing those distinctions.

This converter deliberately applies a smaller, auditable set of replacements instead of running generic Unicode compatibility normalization.

ASCII and space

In the full-width direction, each printable ASCII character from U+0021 through U+007E maps to the character at U+FF01 through U+FF5E. ASCII space U+0020 maps to ideographic space U+3000. The reverse direction maps only those full-width counterparts back to ASCII. Unicode notes that the full-width form of ASCII space is unified with U+3000, while the Halfwidth and Fullwidth Forms chart records the wide mappings for punctuation, digits and Latin letters.

Direction Input Output
To full-width ABC 123!? ABC 123!?
To half-width ABC 123!? ABC 123!?
To full-width 東京2026 ガイド😀 東京2026 ガイド😀

The third row shows the boundary clearly. The ASCII digits and space change, supported half-width Katakana changes, and 東京 plus the emoji remain untouched.

Katakana, punctuation and sound marks

The tool maps the documented half-width Katakana set, Japanese punctuation and prolonged sound mark through an explicit table. The Unicode character names list for U+FF00 to U+FFEF gives the narrow correspondences used for U+FF61 through U+FF9F, including with , with , with , and with .

Direction Input Output
To full-width ガ パ ヴ ガ パ ヴ
To half-width ガ パ ヴ ガ パ ヴ
To full-width 。、「」・ー 。、「」・ー
To half-width 。、「」・ー 。、「」・ー

Voiced and semi-voiced syllables use explicit pairs. For example, ガ maps to , パ to , and ヴ to . The table also includes the supported voiced ヷ and ヺ pairs. Unsupported kana such as , , , , and remain unchanged rather than being guessed or transliterated.

U+FF9E and U+FF9F are handled as the strict half-width counterparts of combining U+3099 and U+309A. The spacing marks U+309B and U+309C are different characters and remain unchanged. This distinction matters when inspecting output at the code-point level.

A precise normalization caveat

This is not NFKC. Unicode Standard Annex #15 classifies width variants as compatibility equivalents and shows that NFKC also changes many unrelated compatibility forms. This tool avoids those wider effects by using only its documented tables.

There is one intentional composition detail for voiced Katakana. Precomposed and the canonically equivalent sequence followed by U+3099 both narrow to ガ. Widening that result produces the customary precomposed . Therefore, the visible reading is retained, but every original code-point sequence is not guaranteed to round-trip. The same principle applies to the supported voiced and semi-voiced pairs.

The tilde family is another useful test:

Direction Input Output
To full-width ~〜~ ~〜~
To half-width ~〜~ ~〜~

ASCII tilde U+007E and full-width tilde U+FF5E form a mapped pair. Wave dash U+301C is not that character, so it stays unchanged in both directions.

What remains unchanged

Tabs, line breaks and non-breaking space U+00A0 are preserved. So are Hiragana, Kanji, emoji, half-width Hangul, unsupported kana, Arabic-Indic digits, Eastern Arabic-Indic digits and all other unlisted code points. The converter does not translate words, change Hiragana into Katakana, parse numbers, transliterate Japanese or clean up Unicode generally.

The Japanese Standards Association catalog entry for JIS X 0201:1997 identifies the Japanese standard for 7-bit and 8-bit coded character sets. That standards context helps explain legacy Roman and Katakana repertoires, but this browser tool does not inspect a file encoding or certify conformance with JIS X 0201 or any other encoding. It operates only on the Unicode text already supplied by the browser.

Privacy and input limit

Conversion runs in the browser. The source text and selected direction are stored in sessionStorage for the current session so they survive the three-step interface. The source is not sent to our servers, placed in the URL or submitted to the server. Starting over removes the saved session value. Clipboard managers, browser extensions and the destination where you paste the result remain outside the tool’s control.

The limit is 10,000 Unicode code points, not 10,000 UTF-16 code units. This means a supplementary character such as an emoji counts once. Some valid inputs may contain different numbers of code points after conversion because a supported base Katakana plus combining sound mark can become one precomposed character. The limit controls input size; it is not a promise of code-point-for-code-point output length.

Frequently Asked Questions

No. It uses explicit ASCII, space, punctuation and Katakana width mappings. NFKC has broader compatibility effects on characters outside this tool’s scope.

No. Hiragana remains unchanged. The tool changes only listed width pairs and does not translate or transliterate Japanese text.

Both the decomposed sequence and precomposed ガ narrow to ガ. Widening that pair returns the customary precomposed ガ, so the original code-point sequence is not preserved even though the reading is.

No. ASCII tilde and full-width tilde are mapped. Wave dash U+301C is a separate, unlisted character and remains unchanged.

No. The converter does not inspect byte encoding, file structure or document requirements. It changes listed Unicode characters only and provides no JIS, legal or official-document certification.

No. The source is processed locally and kept in the current browser session for the multi-step view. It is not sent to our servers or added to the page address.

Related Tools

Tool available in other languages