FAQ
What is the difference between fullwidth and halfwidth?
The same character occupies two cells in fullwidth form (used for CJK typesetting) and one in halfwidth. Fullwidth letters and digits also sit in a different code point range.
Will Chinese punctuation become English punctuation?
Partly. Only the fullwidth ASCII variants in U+FF01–U+FF5E convert, so ,!?;:() become ,!?;:(), while 、。《》 and CJK quotation marks sit outside that range and stay as they are.
When would I need this?
Numbers and letters copied from PDFs, Excel or legacy systems are often fullwidth, which breaks code and search boxes. This fixes them in one click.
About this tool
The rule is mechanical: code points inside U+FF01–U+FF5E lose 0xFEE0 to become halfwidth, U+3000 (the fullwidth space) becomes an ordinary space, and the reverse direction adds it back. Nothing else is touched — ideographs, kana and emoji pass through unchanged.
That range is the "fullwidth ASCII variant" block, so the result is predictable: letters, digits and fullwidth punctuation such as !?,;:() convert, while 、 (U+3001), 。 (U+3002), CJK book-title marks, curly quotes, em dashes and ellipses sit outside the range and stay as they are. Normalising punctuation style is not what this tool does.
The common case is numbers and letters copied out of a PDF, Excel, a legacy system or an IME in fullwidth mode — 123 and ABC are rejected outright by code, shells, search boxes and form validation, yet look almost identical to the eye. For input that "looks fine but fails validation", running it through here is the fastest check.
Two practical notes: halfwidth-to-fullwidth only touches halfwidth characters, so already-fullwidth text is not doubled and repeated runs are safe; and conversion is a pure code-point mapping with no semantic judgement, so punctuation you wanted to keep fullwidth converts as well — glance over the output. The status line reports how many characters actually changed, and zero means the input contained nothing to convert in that direction.