Skip to content

Full-width and half-width converter

Runs in your browserNothing is uploadedThis runs entirely in your browser. Nothing is uploaded.

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

Paste some text and the converted version appears here.
Original東京都渋谷区1−2−3タナカ タロウDigits narrowed only東京都渋谷区1-2-3タナカ タロウガ composes into a single ガ, so input and output lengths differ.
Switching one character class at a time is the point. A house rule like "digits half-width, katakana full-width" cannot be expressed by a converter that changes everything at once.
All tools

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

  1. 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.

  2. 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.

  3. 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.
Sponsored links