The tool you need, ready to use

Fullwidth to Halfwidth Converter

Paste your text, pick a direction, and the result updates at once. Fullwidth A (U+FF21) and halfwidth A (U+0041) only look alike, so search, spreadsheets and form validation treat them as different characters. The result is drawn one character per cell with every change marked, and the character lens shows the code point and width. It also turns halfwidth katakana such as ガ into ガ by merging the voicing mark, and can make fullwidth "aesthetic" text from plain letters.

Last updated 2026-10-21All math stays in your browser
Direction

Characters to convertNumbers show how many characters change in this direction

Examples

Result · cell view

Character lensClick a character in the result or the list beside it

    Changed characters

    Look-alikes left as isThey are not width pairs, so they are not converted

    Last updated 2026-10-21Your inputs are not stored

    ROBERIN standardThe tool you need,
    ready to use.
    • Clear at a glanceInputs and results sit where you expect them.
    • Result firstThe key number comes first; the working only when you need it.
    • Ask lessNo sign-up and no unnecessary details.

    Fullwidth A and halfwidth A are different characters that only look alike

    In East Asian typography a fullwidth character fills a square cell as wide as the character is tall, and a halfwidth character fills half of that. The W3C's Requirements for Japanese Text Layout (JLREQ) defines them in just those terms. English readers usually meet the difference in one of two places: the wide, spaced-out Latin letters people use for "aesthetic" nicknames and captions, and the stray ABC123 that sneaks into spreadsheets and sign-up forms copied from Japanese, Chinese or Korean sources. The two look alike to a person and differ completely to a computer: fullwidth A is U+FF21, halfwidth A is U+0041, so search, sorting, de-duplication and form validation treat them as unrelated.

    The converter above has three directions. "To halfwidth" turns ABC123 into ABC123, "To fullwidth" does the reverse, and "Standard" keeps Latin letters, digits, symbols and spaces halfwidth while widening halfwidth katakana to its normal form. Six chips (letters, digits, symbols, spaces, kana, other) choose what may change, and each chip shows how many characters would change in the current direction. The result is drawn one character per cell, wide characters taking two cells and halfwidth ones taking one, with every changed character marked.

    When you need to switch width

    • Making fullwidth text for a nickname or caption: "To fullwidth" turns vaporwave aesthetic 2026 into vaporwave aesthetic 2026, with each letter spread over a full cell. Some sites and games may refuse fullwidth characters in a username or handle, so check the sign-up form before relying on it for an account name.
    • Cleaning up data from Japanese, Chinese or Korean sources: supplier lists, shipping labels and exported order sheets often contain fullwidth digits, letters and spaces. A VLOOKUP or a duplicate check will not match RB-1021 against RB-1021 until both use the same width.
    • Filling in a Japanese web form: phone, postcode and e-mail fields often want halfwidth characters, while name fields may ask for fullwidth or halfwidth katakana. If your input method was in the wrong mode, paste the text here and convert it instead of retyping.
    • Reading old halfwidth katakana: legacy systems and some bank transfer data use ロベリン-style halfwidth katakana. "Standard" widens it to ロベリン, joining the voicing mark into the letter.
    • Normalizing user input in code: converting width before storing a value keeps one name or code from being saved in two forms. Unlike NFKC, this tool leaves ① and ㎏ alone, which matters when numbered lists or units must survive.
    • Checking text length in a terminal or a fixed grid: wide characters occupy two columns, so the cell count shown above tells you how much room the text really needs.

    How to use it

    1. Paste your text into the input box. The page opens with an order-form example, and the example buttons below load an aesthetic-text sample and a halfwidth-katakana sample.
    2. Pick a direction: "To halfwidth" for data cleanup, "To fullwidth" for wide decorative text, "Standard" when halfwidth katakana is mixed in.
    3. Check the chips. Each number is how many characters change in this direction; if a chip you turned off still has a number, a note under the result says so.
    4. Look at the marked characters in the result. Clicking one opens the character lens with the before and after shapes, code points and widths, and clicking an entry in the list highlights every occurrence.
    5. Press "Copy result", or "Use result as input" to convert it again in another direction.

    The rules: the pairs Unicode defines

    Unicode keeps the width variants in its Halfwidth and Fullwidth Forms block (U+FF00 to U+FFEF) and records in UnicodeData.txt which ordinary character each one is the wide (<wide>) or narrow (<narrow>) form of. In Unicode 18.0 there are 104 wide mappings and 122 narrow mappings. The converter uses only those pairs.

    Halfwidth and fullwidth ranges by kind (Unicode 18.0)
    KindHalfwidthFullwidthPairs
    LettersA to Z U+0041 to 005A, a to z U+0061 to 007AA to Z U+FF21 to FF3A, a to z U+FF41 to FF5A52
    Digits0 to 9 U+0030 to 00390 to 9 U+FF10 to FF1910
    Symbols32 ASCII symbols such as ! and ~ within U+0021 to 007E32 symbols such as ! and ~ within U+FF01 to FF5E32
    SpaceOrdinary space U+0020Ideographic space U+30001
    KanaHalfwidth katakana, voicing marks and punctuation such as カ ゙ 「 (U+FF61 to FF9F)Fullwidth katakana and punctuation such as カ ゛ 「63
    Other¢ £ ¬ ¯ ¦ ¥ ₩ and ⦅ ⦆ / halfwidth Hangul letters ᄀ to ᅵ and halfwidth symbols │ ← ↑ → ↓ ■ ○¢ £ ¬  ̄ ¦ ¥ ₩ and ⦅ ⦆ / ordinary jamo ㄱ to ㅣ and │ ← ↑ → ↓ ■ ○9 + 59

    For the 94 ASCII letters, digits and symbols, the code point difference is always hex FEE0 (65,248 in decimal): A (0x41) plus 0xFEE0 is A (0xFF21), and ! (0xFF01) minus 0xFEE0 is ! (0x21). The space is the one exception, pairing U+0020 with U+3000. The halfwidth Hangul letters and halfwidth symbols under "Other" exist for compatibility with old terminals, so the tool only widens them to ordinary characters and never creates them.

    "Standard" resolves every wide form to its ordinary character and widens every narrow form. That is almost exactly what NFKC does for width, minus its other compatibility changes, so ① and ㎏ stay as they are. The one difference: a halfwidth voicing mark ゙ or ゚ that cannot merge with the character before it becomes a combining mark (U+3099, U+309A) under NFKC, while this tool turns it into the spacing marks ゛ and ゜.

    The 32 symbol pairs

    Digits and letters line up one to one, but symbols are easy to mix up because many look similar. The code under each fullwidth character is its code point.

    ASCII symbols (halfwidth) and their fullwidth forms
    HalfFull · codeHalfFull · codeHalfFull · codeHalfFull · code
    !!U+FF01""U+FF02##U+FF03$$U+FF04
    %%U+FF05&&U+FF06''U+FF07((U+FF08
    ))U+FF09**U+FF0A++U+FF0B,,U+FF0C
    --U+FF0D..U+FF0E//U+FF0F::U+FF1A
    ;;U+FF1B<<U+FF1C==U+FF1D>>U+FF1E
    ??U+FF1F@@U+FF20[[U+FF3B\\U+FF3C
    ]]U+FF3D^^U+FF3E__U+FF3F``U+FF40
    {{U+FF5B||U+FF5C}}U+FF5D~~U+FF5E

    The fullwidth backslash is \ (U+FF3C). The yen sign has its own pair: ¥ (U+00A5) and ¥ (U+FFE5), with the won sign ₩ and ₩ pairing the same way. They sit under the "Other" chip, not "Symbols".

    One line, four ways

    A line mixing fullwidth letters and digits, halfwidth katakana, a fullwidth yen sign and a circled digit, converted with every chip on. Cells count wide characters as two and the rest as one.

    Input: TEL 03-1234 ガイド ¥5,000 ① (46 cells, UTF-8 78 bytes)
    DirectionResultChangedCellsUTF-8
    To halfwidthTEL 03-1234 ガイド ¥5,000 ①202639
    To fullwidthTEL 03-1234 ガイド ¥5,000 ①34772
    StandardTEL 03-1234 ガイド ¥5,000 ①232733
    NFKCTEL 03-1234 ガイド ¥5,000 1---

    "To halfwidth" leaves the halfwidth katakana alone, and "To fullwidth" changes little here because most of the line is already fullwidth: only the five characters ガイド merge into the three characters ガイド. "Standard" combines both, and NFKC goes one step further and turns ① into 1. If that circled digit was a list number, this is why NFKC is the wrong tool.

    Halfwidth katakana and the voicing mark

    Halfwidth katakana has no single characters for voiced sounds such as ガ or パ. They are written as two characters, the base kana followed by a separate voicing mark ゙ or semi-voicing mark ゚. Widening therefore has to merge two characters into one, and narrowing turns one character into two, which can push a field past its length limit.

    Halfwidth to fullwidth ("Standard" and "To fullwidth", kana chip on)
    HalfFullLengthNote
    ガガ2 → 1Merged into the voiced letter
    パパ2 → 1Merged into the semi-voiced letter
    ヴヴ2 → 1The v sound in loanwords
    ヷヷ2 → 1A rare combined letter that exists
    ア゚ア゜2 → 2No combined letter, so the spacing semi-voicing mark ゜ is used
    ゙゛1 → 1A lone voicing mark becomes the spacing mark ゛ (U+309B)
    ッッ1 → 1Small kana have pairs too
    ーー1 → 1Long-vowel mark
    「」。、・「」。、・5 → 5Japanese punctuation belongs to the kana chip

    The small ヵ and ヶ and the old letters ヮ, ヰ and ヱ have no halfwidth form, so they stay fullwidth even under "To halfwidth". If a field accepts only halfwidth katakana, check the lens for leftovers. Some Japanese banks also restrict kana in transfer names; for example, an SMBC FAQ for its Web21 BUSINESS plan says small kana are not to be used and are converted to large ones (ワカクサシヨウテン, not ワカクサショウテン). That is one service's rule, and this tool does not turn small kana into large ones, so follow your own bank's instructions.

    Spreadsheets and code

    Fullwidth to halfwidth and back: functions and code
    ToolFull → halfHalf → fullWorth knowing
    Excel=ASC(A1)=DBCS(A1)Works with double-byte character set (DBCS) languages; with other language settings it may leave the text unchanged, and text without fullwidth characters is not changed. Microsoft says the name of the reverse function and the characters it converts depend on language settings (it is JIS in Japanese Excel).
    Google Sheets=ASC(A1)-Converts fullwidth ASCII and katakana to halfwidth. The help page does not describe a function for the other direction.
    JavaScripts.normalize('NFKC')-Also converts ①, ㎏, … and other compatibility characters.
    Pythonunicodedata.normalize('NFKC', s)-Same rule as NFKC in JavaScript.

    MDN describes NFKC as compatibility decomposition followed by canonical composition. To narrow only letters, digits, symbols and spaces and leave circled digits and unit signs alone, apply the FEE0 offset yourself.

    // JavaScript: fullwidth ASCII-range characters (U+FF01 to FF5E) and the ideographic space only
    s.replace(/[!-~]/g, c => String.fromCharCode(c.charCodeAt(0) - 0xFEE0)).replace(/ /g, ' ');
    
    # Python 3.9 or later: the same rule
    s.translate({c: c - 0xFEE0 for c in range(0xFF01, 0xFF5F)} | {0x3000: 0x20})

    Typing in the right width from the start

    If fullwidth characters keep appearing as you type, the input method is in a fullwidth mode. In the Microsoft Japanese IME, these keys convert the text you are composing:

    Microsoft Japanese IME: converting the text being composed
    KeyResult
    F6Hiragana
    F7Full-width katakana
    F8Half-width katakana
    F9Full-width alphanumeric
    F10Half-width alphanumeric

    For the Microsoft Korean IME, Microsoft's page describes a right-click on the input indicator, then Character width, then Half-width or Full-width, and lists no shortcut key for it.

    Common slips

    • Treating 〜 and ~ as the same: the wave dash 〜 (U+301C) and the fullwidth tilde ~ (U+FF5E) are different characters. ~ becomes ~, but 〜 is not a width pair, so it stays and is listed under the look-alikes.
    • Assuming every dash is a hyphen: −, – and ― (U+2212, U+2013, U+2015) are not the keyboard hyphen - (U+002D). If a phone number or code still fails validation, look at the look-alike list and fix those by hand.
    • A long-vowel mark inside a phone number: typing digits with a Japanese input method can produce ー (U+30FC) instead of a hyphen. It is a kana, so it is not converted, and it is flagged when it sits between digits.
    • Expecting "To halfwidth" to shrink everything: ガ becomes the two characters ガ, so length can grow. Check the character count above the result if the field has a limit.
    • Using NFKC as a quick fix: it turns ① into 1, … into ... and ㎡ into m2. For numbered lists or unit notation, read the NFKC comparison note under the result first.
    • Making a username in fullwidth letters: it looks fine on screen, but a login form or a search for the name may not match it. Keep fullwidth text for decoration.

    Limits

    • Cells follow Unicode East Asian Width (UAX #11): wide (W) and fullwidth (F) characters count as two, everything else as one. Ambiguous (A) characters such as ① and ※ count as one, though an East Asian font or terminal may draw them in two.
    • Real glyph widths depend on the font, so the cell view is a fixed-grid drawing.
    • No hiragana to katakana conversion, no small-to-large kana conversion, and no Hangul syllable decomposition or composition.
    • 〜, −, special spaces and zero-width characters are reported, not changed. The tool does not trim spaces or remove line breaks either.
    • The cell view draws the first 4,000 characters; the rest follows as plain text, and the copy button always includes everything.
    • Digits and symbols inside keycap emoji such as 1️⃣ and #️⃣ are never made fullwidth, so the emoji does not break.
    • Text is processed in your browser only and is not sent anywhere.

    Sources

    Basis: the fullwidth and halfwidth pairs and the width classes come from the Unicode 18.0.0 character data, and the spreadsheet functions and input method menus were checked against each vendor's help pages on 21 October 2026. Under the Unicode stability policy, once a character is assigned its decomposition mapping will not change, so these pairs stay the same in later versions.

    Frequently asked questions

    How do I convert fullwidth numbers like 123 to normal numbers?

    Set the direction to "To halfwidth", keep the digits chip on and paste 123. The result is 123 and three characters are marked as changed. In Excel, =ASC(A1) turns fullwidth characters into halfwidth ones, but it only works with double-byte character set (DBCS) language settings and may leave the text unchanged otherwise.

    How do I make fullwidth text for a nickname or aesthetic caption?

    Choose "To fullwidth" and paste plain text. vaporwave aesthetic 2026 becomes vaporwave aesthetic 2026, with each letter in its own wide cell. Some sites may not accept fullwidth characters in usernames, so keep it for decoration and test it on the form first.

    What is the difference between fullwidth and halfwidth characters?

    A fullwidth character fills a square cell as wide as the character is tall, and a halfwidth character fills half that width. Their code points differ too: fullwidth A is U+FF21 and halfwidth A is U+0041. In the cell view of this tool, wide characters take two cells and halfwidth ones take one.

    How do I convert halfwidth katakana to fullwidth?

    Turn the kana chip on and choose "Standard" or "To fullwidth". The two characters ガ (a base kana plus a voicing mark) merge into the single character ガ, パ becomes パ and ヴ becomes ヴ. Small or archaic kana such as ヵ, ヶ, ヮ, ヰ and ヱ have no halfwidth form and stay as they are.

    Why does a Japanese form say I must use halfwidth characters?

    Fields such as phone numbers, postcodes and e-mail addresses often accept only halfwidth letters and digits, and a Japanese input method set to a fullwidth mode produces 03-1234 instead of 03-1234. Paste the text here with "To halfwidth" to fix it. Check each form's own rules for kana fields, because some ask for fullwidth and some for halfwidth katakana.

    How is this different from NFKC normalization?

    NFKC resolves every compatibility character, so besides width it turns ① into 1, ㎏ into kg and … into .... This tool changes only the pairs Unicode marks as wide or narrow, so circled numbers and unit signs stay. Under the result, a note lists what NFKC would change on top of the Standard direction.

    Can Excel or Google Sheets convert fullwidth to halfwidth?

    Excel has ASC for fullwidth to halfwidth and a function called DBCS in English (JIS in Japanese Excel) for the reverse; their names and effects depend on your language settings, and they work with DBCS languages. Google Sheets has ASC for fullwidth ASCII and katakana, and its help page does not describe a reverse function.

    Is the text I enter stored or sent anywhere?

    No. The conversion runs inside your browser, and the text is neither sent to a server nor kept in the address or in browser storage. Reloading the page restores the example text.