Full-width / half-width converter
Converts characters between full-width and half-width forms, cleaning up full-width letters, digits or punctuation that crept into mixed CJK/Latin text.
Convert between full-width and half-width characters using the fixed Unicode offset 0xFEE0, or adjust punctuation only.
Steps and notes
What is Full-width / half-width converter?
Convert between full-width and half-width characters — the fixed Unicode offset 0xFEE0 maps A to A, 1 to 1 and so on — with an option to adjust punctuation only. Essential when cleaning data pasted from CJK documents, aligning mixed-language databases, or fixing lookups that fail because "ABC" and "ABC" are different strings to a computer.
- Paste the text to process
- Pick a conversion mode: half-width → full-width, full-width → half-width, or punctuation only
- Copy the converted result
- Punctuation-only mode leaves letters and digits alone and replaces punctuation per the mapping table
- Half-width and full-width spaces (U+3000) are both converted
Frequently asked questions
- What is the difference between full-width and half-width?
- Full-width characters occupy an em square (used in CJK typesetting); half-width is the narrow Latin form. Unicode places most full-width forms at a constant 0xFEE0 offset from their half-width counterparts, which is exactly what this tool exploits.
- Why did my search or join fail with no visible difference?
- Because ABC and ABC are different code points even though they print identically in many fonts. Normalising width before comparing strings fixes a whole class of "invisible" data bugs.
- When should I convert punctuation only?
- When the letters are correct but punctuation came in full-width from a CJK editor (,vs ,). Converting only punctuation keeps identifiers intact while fixing separators.
Category: Text
Text transform & analysis workflow
Case converter → Full-width / half-width converter → Batch text replacer → List converter → String obfuscator → Text statistics