Full-width and half-width converter
Convert Japanese text in either direction, switching letters, katakana, symbols and spaces independently — so a rule like "digits half-width, katakana left full-width" can be applied exactly as written. It runs in the page, so customer lists and address books never leave your machine.
Input
Anything unticked is left exactly as it is, so rules like "digits half-width, katakana full-width" can be expressed directly. The katakana class also covers the punctuation that travels with half-width kana — 。「」、・ ー and the voice marks.
Output
Related tools
All tools- Word & character countCharacters, words, lines and reading time, counted as you type.
- Line toolsRemove duplicate and blank lines, sort, trim and number a list — in one pass.
- JSON formatter & validatorPretty-print, minify, sort keys — and point at the exact line that broke.
- CSV ⇄ JSON converterCSV and JSON, both ways — quoted commas and line breaks included.
Highlights
- Each character class is separate
- Letters and digits, katakana, symbols and spaces each have their own switch. House rules for Japanese data entry are usually of the form "street numbers half-width, kana full-width", which an all-or-nothing converter cannot express. Anything unticked is left byte for byte as it was — and since one spreadsheet normally holds both the columns you want narrowed and the columns that must stay wide, being able to aim at a single class is what makes the tool usable on real data.
- Voiced half-width kana become one character
- Half-width ガ is two code points, カ and ゙, so a plain code-point shift leaves you with カ゛. This composes through Unicode combining marks instead, which gets ガ, パ, ヴ and ヷ right, and splits them back the same way in the other direction. A list rewritten to full width therefore never comes back with an orphaned voice mark standing on its own.
- Text is never uploaded
- The conversion happens entirely in your browser and nothing you paste is sent anywhere, which matters because the usual input for this job is a customer list. The converter itself is loaded when the page opens, so once the page is up nothing crosses the network — it keeps working on a plane or behind a locked-down corporate firewall.
How to use it
Paste the text
Paste into the input box. A column copied out of a spreadsheet keeps its line breaks, so it comes back with the same number of rows. The sample button fills in a Japanese address if you want to see it working first.
Choose direction and scope
Pick "full-width → half-width" or "half-width → full-width", then use the tick boxes below to keep only the classes you want converted. The result is rebuilt every time you change something.
Check the result and take it
The converted text appears in the result box. Input length, output length and the number of characters changed are listed underneath, so you can confirm nothing unintended moved. Copy it out, or press "Send result to the input" to run a second pass with different settings.
What gets converted
- What is in each of the four classes?
- "Letters and digits" covers 0-9, A-Z and a-z and their full-width twins. "Symbols" covers the full-width forms of ASCII punctuation — !#$%&()+-/:?@[]_{} and so on — plus ¥£¢₩. "Katakana" covers ア-ン and the small kana, together with the punctuation that belongs to the half-width kana block (。「」、・ ー) and the voice marks. That punctuation sits with the kana in the character set itself, and in practice "fix the half-width kana" always means fixing it too, so it is governed by the katakana switch rather than the symbol one. "Spaces" means the single pair U+3000 and ASCII space; tabs and newlines are untouched, so a pasted column comes back with exactly as many rows as it went in with.
- How are the voice marks handled?
- Going half-width to full-width, a following ゙ or ゚ is absorbed into the character before it: ガ becomes ガ, ピ becomes ピ, ヴ becomes ヴ. Where no such character exists — ア゙, for instance — nothing is invented, and it stays as ア followed by a standalone ゛: showing what was actually in the input beats manufacturing a glyph that was never there. Going the other way, ガ splits back into ガ. This is why the input and output character counts differ, and why both are printed under the result.
- What is left alone?
- Hiragana and kanji have no half-width form, so they pass through. So do ヵ, ヶ, ヸ, the wave dash 〜 (U+301C) and typographic quotes, none of which have a half-width counterpart. Emoji are untouched as well. Note that the full-width tilde ~ (U+FF5E) is a different character from the wave dash and does convert to ~ — they look nearly identical in Japanese fonts, so if something refuses to convert, check which of the two it is.
- Is a round trip lossless?
- For letters, digits and symbols, yes. Katakana mostly survives, but any character without a half-width form stays behind on the first pass, so the round trip does not return the original. There is also a trap in the settings: if you split ガ into ガ and then convert back with the katakana box unticked, the voice mark is left half-width. Tick the same classes on both passes. And data that arrived with full-width and half-width already mixed loses that mixture the moment it is normalised in either direction, so keep the original rather than relying on being able to convert back.
Questions
- Is there a length limit?
- None by design. A list of tens of thousands of rows works, though typing may feel less immediate on a modest device.
- Is my text stored?
- No. Everything happens in the page and nothing is sent to a server. Close the tab and it is gone.
- Does this match Excel’s ASC and JIS functions?
- Broadly, yes — but ASC and JIS convert everything at once, so "digits only, leave the kana alone" takes a stack of nested formulas in Excel. Like JIS, this tool composes a half-width ゙ with the character before it rather than leaving it standing alone. One practical difference: an Excel function leaves a formula behind, so you have to paste the values back over themselves to commit them. Here the result is already plain text.
- Which characters should be half-width?
- Postcodes, phone numbers, street numbers, email addresses and URLs are conventionally half-width, because anything else stops them matching in a search or a merge. Name readings are usually standardised as full-width katakana — though bank transfer files are one of the places that still demand half-width kana. Half-width kana remains normal in older back-office systems and printed forms, while mail subject lines and some databases handle it badly. Follow the receiving system’s specification; where there is none, "half-width for letters, digits, symbols and spaces, full-width for kana" is the combination that causes the least trouble later.
- Can I process a spreadsheet column?
- Copy the column, paste it in, and it comes back with the same rows converted line by line, ready to paste back. If you paste several columns at once, the column separators arrive as tabs and are left untouched. Watch out for cells containing their own line breaks — those arrive as extra rows and shift everything below them.