33

How can I type the unicode character U+200B (zero-width space character) with my keyboard?

6
27

When using recent versions of Chrome/Chromium, you can use its console to copy the character to clipboard:

copy("\u200B")         // works for BMP characters only (U+0000 to U+FFFF)
copy("\u{200B}")       // works for all characters (U+0000 to U+10FFFF)

copy(String.fromCodePoint(0x200B))
1
  • 2
    Works on Firefox too Apr 12 '20 at 14:11
16

First convert the hex 200B to decimal 8203

Second, making sure numlock is turned on, press the following keystrokes while holding down the Alt key, then striking the four digits on the numeric keypad, and finally releasing the Alt key.

Alt+8203

It will insert the proper character, but you may see garbage depending on the font you are using (does it contain a glyph for that character) as well as the editor you are using may not be unicode aware and treat it as two characters or something else completely.

Note: I tested this with the Arial Unicode MS font, and it worked like a champ.

7
  • 1
    Thanks for your answer but how can I do it, for example, inside this very comment box? Jun 25 '10 at 17:24
  • 14
    This inserts U+2642 here. In RichEdit it works (as does using 08203). As to the why for U+2642: 8203 mod 256 is 11 which was, in the OEM charset, the character code of the glyph ♂ (which is now U+2642). This is consistent with what I have previously observed: Using Alt+foo treats the code differently, depending on what is prefixed. If no 0 is at the start of the code, then it is interpreted in the OEM charset, otherwise the system legacy charset. In both cases Unicode is only involved in converting the result to a character.
    – Joey
    Jun 26 '10 at 8:06
  • 1
    Obviously this differs between applications and controls, but not in a meaningful and predictable way so as a general solution this isn't quite right, still.
    – Joey
    Jun 26 '10 at 8:06
  • 1
    By the way, browsers should have no problem picking a font for a particular glyph that isn't present in the font specified. Also Arial does contain a glyph for U+200B. In any case, you shouldn't see null glyphs (boxes or U+FFFD) on a semi-recent system.
    – Joey
    Jun 26 '10 at 8:09
  • 3
    How do you type this character on a device that doesn't have a numeric pad, like some laptops? Jan 8 '12 at 9:30
9

Follow the instructions in Wikipedia. Unfortunately you need to set a registry key first.

After that formality is taken care of, just hold Alt and press + 2 0 0 B, typing the + and numbers on the numpad, and the letters normally.

2
  • 3
    Typing the letter B at the end on my Windows XP terminal seems to abort the escape sequence and no character is actually sent to the text box.
    – Goyuix
    Jun 25 '10 at 15:24
  • @Goyuix: The console windows are an entirely different beast ... most of the time you can't enter characters with Alt+foo there.
    – Joey
    Jun 26 '10 at 7:49
8

Alt + 0129

This inserts a zero-width character.

1
  • 10
    0129 - hex 0x81 - is not the same as U+200B and is not a zero-width character. In the Windows Cp1252 character encoding and ISO-8859-1 it is "not a character" — there is nothing at the code-point x81, so yes, it renders as nothing, but it isn't a word boundary so it's not the same as a zero-width space. In Unicode, codepoint 0x81 is in the "C1" reserved control character range. If you're using Unicode / UTF-8 encoding you should avoid characters in the range 0x80 to 0x9f (128-159). Even in Latin-1 this range is reserved
    – Stephen P
    Aug 19 '15 at 18:59
3

You can go to this website: Symbols - it provides easy access to many special symbols and characters. At the bottom of the page, you see a button for "Zero Width Space" character, just click on that button to have the "Zero Width Space" character copied in the clipboard.

1
  • This was way easier than the other answers that I tried! Thanks.
    – Ryan
    Apr 4 '18 at 17:32
1

Alt+0173 (old post but I didn't see this specific answer)

1
  • This is the only one that worked for me. You can use this on twitter to prevent it turning text into a link. Dec 10 '20 at 15:50
0

To type this on a laptop with no separate number pad, you'll need to turn numlock on, which will differ depending on your computer's manufacturer. The numbers 0-9 are then MJKLUIO789, respectively. On most laptops, these keys are marked as such. But, even if they aren't, it should still work.

0

My go-to site for any special characters that I cannot enter via Unicode hexadecimal + Alt+X (such as in LibreOffice or Word, is Amp-what.com. You can search by character name(s), decimal, hex and even html entities. Click the desired character, a supersized box pops up and you can then click whichever part you need. Amp-what.com entry for 200b This selection box is especially useful when copying characters that you cannot easily select with your mouse, such as non-space characters or diacriticals. Simply clicking inside the box copies whichever character is there to your clipboard.

-3

Im not 100% sure but i think it may be Alt+127

6
  • Using the num lock I might add!
    – RobertPitt
    Jun 25 '10 at 11:39
  • hmm well the inly other one i can think if is the unicode version witch us 200 or 200B so try ALT+200 or ALT+200B
    – RobertPitt
    Jun 25 '10 at 11:41
  • When I do it, this character appears: Jun 25 '10 at 11:41
  • Alt + 200 = Jun 25 '10 at 11:52
  • This answer is incorrect - ASCII 127 is commonly the DEL character, not a zero width space unicode character.
    – Goyuix
    Jun 25 '10 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.