Halfwidth-to-fullwidth mapping
In CJK typography, every character occupies one cell of a square grid called em. ASCII characters do not naturally fit that grid, so Unicode includes fullwidth versions of every printable ASCII character in the Halfwidth and Fullwidth Forms block at U+FF00 onwards. This tool maps each ASCII character to its fullwidth twin: ! at U+0021 becomes ! at U+FF01, and so on through ~ at U+007E -> U+FF5E.
The visual effect is widely used outside CJK as a "vaporwave aesthetic" or wide-spaced retro look popular on Instagram, TikTok, and Tumblr. Each fullwidth character is roughly twice as wide as its ASCII counterpart, so a short input produces a noticeably stretched output. ASCII space U+0020 maps to Ideographic Space U+3000, which renders as a wide space matching the rest of the line.
Anything outside the printable ASCII range (32-126) passes through unchanged. That means accented Latin letters, emoji, CJK characters already in fullwidth form, and most punctuation outside ASCII are not remapped. Combine with remove accents first if you need full coverage of accented input.
How to use wide text generator
- 1Paste or type your text into the input panel on the left.
- 2The fullwidth result appears in the output panel as you type.
- 3Click Copy in the output header to copy the result.
- 4Paste it into your bio, post, or aesthetic caption.
- 5For accented characters that pass through, run input through remove accents first.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run a saved workflow Plus |
What this tool actually does
Direct ASCII-to-fullwidth offset
Every printable ASCII character (codepoints 33 to 126) is shifted by 0xFEE0 to land in the Halfwidth and Fullwidth Forms block. So A at U+0041 becomes A at U+FF21, 0 at U+0030 becomes 0 at U+FF10, and ! at U+0021 becomes ! at U+FF01.
Space gets the ideographic treatment
ASCII space U+0020 maps to Ideographic Space U+3000 instead of fullwidth space (which exists at U+FF00 but renders as a control glyph). U+3000 is the wide space CJK fonts use to fill one em cell, matching the visual width of the rest of the fullwidth output.
Letters, digits, and punctuation all covered
A-Z, a-z, 0-9, and every printable ASCII punctuation character has a fullwidth twin in U+FF00 onwards. Coverage is complete for the printable ASCII range.
Accents and CJK pass through
Accented Latin letters (é, ñ) sit outside the basic ASCII range, so they pass through unchanged. CJK characters, emoji, and any character above U+007E are also untouched.
Output length doubles visually
Each fullwidth character is twice as wide as its ASCII source on display. A 20-character input renders as roughly 40 columns on a fixed-width font. Plan for that when designing bios with strict character limits.
Worked example
Every printable ASCII character is shifted to its fullwidth twin in U+FF00 onwards. The space becomes U+3000 (ideographic space), wider than ASCII space and visually matched to the fullwidth letters.
hello world 123!
hello world 123!
Settings reference
| Behaviour | Effect on output |
|---|---|
| Letters A-Z, a-z | Mapped to fullwidth at U+FF21 (capitals) and U+FF41 (lowercase). A -> A, a -> a. |
| Digits 0-9 | Mapped to fullwidth at U+FF10. 0 -> 0. |
| ASCII punctuation | Mapped to fullwidth at U+FF01-U+FF5E. ! -> !, ? -> ?. |
| ASCII space | Mapped to ideographic space U+3000 (wide). |
| Accented Latin | Pass through unchanged because they are above U+007E. |
| CJK and emoji | Pass through unchanged. |
| Newlines and tabs | Pass through unchanged. Only printable ASCII 33-126 is remapped (plus space -> U+3000). |