Fullwidth / halfwidth converter
Convert between fullwidth and halfwidth characters: letters, digits, punctuation, the ideographic space and Japanese katakana (カ ↔ カ, ガ ↔ ガ), with spaces and punctuation as separate options.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
What this tool does
- Normalise fullwidth letters and digits pasted out of PDFs, spreadsheets or legacy systems: Hello,世界! 123 → Hello,世界! 123.
- Prepare halfwidth text for CJK typography: converting punctuation and digits to fullwidth makes them line up with Han characters.
- Handle Japanese katakana both ways — カタカナ ↔ カタカナ — with voiced kana such as ガ and パ decomposed into base plus dakuten per the Unicode rules.
- Convert only part of the text: turn off the space or punctuation switch and those characters stay exactly as they were.
Example
Input
Hello,世界! カタカナ 123
Output
Hello,世界! カタカナ 123
Fullwidth ASCII, the ideographic space (U+3000) and katakana are converted; ヵ ヶ ヮ ヰ ヱ ヽ ヾ have no halfwidth form and are kept unchanged.
Frequently asked questions
How does the fullwidth/halfwidth conversion actually work?
The fullwidth ASCII block U+FF01–U+FF5E and halfwidth U+0021–U+007E differ by a fixed offset of 0xFEE0, so they map by plain addition. The ideographic space U+3000 maps to a normal space, and katakana plus punctuation go through the Unicode compatibility mapping table.
Why did ,become a plain comma instead of 、?
Because this is a width conversion, not a punctuation-style conversion. The fullwidth comma U+FF0C sits inside the fullwidth ASCII block, so subtracting the offset gives the halfwidth comma. Use a dedicated Chinese punctuation tool if you want semantic replacements.
What happens if I turn off "convert punctuation"?
Letters and digits still convert, but punctuation is skipped: fullwidth ,。!? stay fullwidth, halfwidth ,.!? stay halfwidth, and the Japanese 。「」、・ ↔ 。「」、・ pairs are left alone. Handy when you only want to strip fullwidth alphanumerics without touching punctuation.
Why does a katakana character become two characters?
Voiced kana such as ガ, パ and ヴ decompose into a base kana plus a dakuten mark, and halfwidth has no single-character form, so ガ turns into ガ. Converting back recombines ガ into ガ, so the length shrinks again.
Does the conversion change meaning, or upload my text?
It only remaps character widths and never changes meaning — the result is still valid UTF-8. Everything runs in JavaScript inside your browser, the page sends no requests, and your text is never uploaded.
Keywords:全角半角fullwidthhalfwidth转换convert假名katakana日文标点