# Notepad++ inserting special Unicode characters in UTF-8

What's the best ways to enter special Unicode characters into a Notepad++ document? Do I have to rely on the operating system (Windows)?

Looking for a see-and-click solution.

I can bring up the ASCII Insertion Panel with Edit | Character Panel — that works great — but it only has the 256 raw characters. In UTF-8 mode I'd like to have a similar feature for the full encoded set, e.g. the Greek alphabet, math symbols, etc. I don't want to have to use the numeric keypad. Similar question on SourceForge but no answer there either.

Set up a User Defined Command:

2. Enter charmap
3. Click Save...
4. Enter a name to identify it, e.g. &charmap (the ampersand lets you specify C as the accelerator key, so Alt+R then C activate it, unless you have another command with the same accelerator key).
5. Optionally specify a keyboard shortcut to trigger it, e.g. ALT and Num +
6. Click OK

Now whenever you want to enter a character, either use the Run menu or shortcut/accelerator key to open Windows Character Map, and either pick one or more characters or search for it/them using its Unicode name in "Search for:", copy to the clipboard, close Character Map and paste in Notepad++.

Note that you have to be in a unicode format for the characters to display in Notepad++. This is done by going to the Format menu and selecting "Encode in UTF-8" or similar. Now you can paste in Greek letters, subscripts, etc. into Notepad++.

• Made a desktop icon for it, in Windows 7 pointing to C:\Windows\System32\charmap.exe – Bob Stein Nov 29 '13 at 20:14

And now for something completely different, a cut and paste gallery:

## 🎳🏂🌁🌉🌋🌌🌏🌑🌓🌔🌕🌛🌠🌰🍏🌱🌼🌽🌿🍄🍇🍈🍌🍍🍑🍒🍩🍕🍖🍗🍠🍤🍥🍨🍪🍫🍬🍭🍮🍯🍷🍹🎊🎋🎠🎣🎭🎮🎲🎴🎹🎻🎼🎽🏡🏮🐌🐜🐝🐞🐡🐢🐣🐥🐩🐼🐽🐾👅👓👖👚👛👝👤👪👰👹👺💌💕💖💞💠💥💧💫💬💮💯💲💳💴💵💸💾📁📂📃📄📅📆📇📈📉📊📋📌📍📎📏📐📑📒📓📔📕📙📚📛📜📞📟📤📥📦📧📨📪📰📹🔃🔋🔌🔎🔏🔐🔖🔗🔘🔙🔚🔛🔜🔟🔠🔡🔢🔣🔤🔦🔧🔩🔪🔮🔵🔶🔷🔸🔹🔼🔽😄😊😃😉😍😘😚😳😌😁😜😝😒😏😓😔😞😱😠😡😪😷👿👽💛💙💜💗💚💔💓💘🌟💢💤💨💦🎶🎵🔥💩👍👎👌👊👋👐👆👇👉👈🙌🙏👏💪🚶🏃👫💃👯🙆🙅💁🙇💏💑💆💇💅👦👧👩👨👶👵👴👱👲👳👷👮👼👸💂💀👣💋👄👂👀👃⛄🌙🌀🌊🐱🐶🐭🐹🐰🐺🐸🐯🐨🐻🐷🐮🐗🐵🐒🐴🐎🐫🐑🐘🐍🐦🐤🐔🐧🐛🐙🐠🐟🐳🐬💐🌸🌹🌻🌺🍁🍃🍂🌴🌵🌾🐚🎍💝🎎🎒🎓🎏🎆🎇🎐🎑🎃👻🎅🎄🎁🔔🎉🎈💿📀📷🎥💻📺📱📠💽📼🔊📢📣📻📡🔍🔓🔒🔑🔨💡📲📩📫📮🛀🚽💺💰🔱🚬💣🔫💊💉🏈🏀⚽⚾🎾⛳🎱🏊🏄🎿🏆👾🎷🎸👟👡👠👢👕👔👜💄💍💎🍵🍺🍻🍸🍶🍴🍔🍟🍝🍛🍱🍣🍙🍘🍚🍜🍲🍞🍳🍢🍡🍦🍧🎂🍰🍎🍊🍉🍓🍆🍅🏠🏫🏢🏣🏥🏦🏪🏩🏨💒⛪🏬🌇🌆🏯🏰⛺🏭🗼🗻🌄🌅🌃🗽🌈🎡⛲🎢🚢🚤⛵🚀🚲🚙🚗🚕🚌🚓🚒🚑🚚🚃🚉🚄🚅🎫⛽🚥🚧🔰🏧🎰🚏💈🏁🎌🎯🀄🎬📝📖🎨🎤🎧🎺👗👘👙🎀🎩👑👒🌂💼

a few Spaces (shown here between full blocks &#x2588; aka &block;)

## ██ (nothing)█​█ &#8203; &#x200B; (zero width space)█ █ &#8202; &#x200A; &hairsp; (hair space)█ █ &#8198; &#x2006; (six-per-em space)█ █ &#8201; &#x2009; &thinsp; (thin space)█ █ &#8239; &#x202F; (narrow no-break space)█ █ &#8197; &#x2005; &emsp14; (four-per-em space)█ █ &#32; &#x20; (space)█ █ &#160; &#xA0; &nbsp; (no-break space)█ █ &#8196; &#x2004; &emsp13; (three-per-em space)█ █ &#8194; &#x2002; &ensp; (en space)█ █ &#8195; &#x2003; &emsp; (em space)

Thanks to Maxitweet, Johannes Knabe, and copypastecharacter.

Tip: Ctrl +=zoom in. Ctrl 0=restore. (Mac ⌘ + and ⌘ 0.)

• You're welcome, there's nothing like a visual. (Huh, another "Python" reference.) – Bob Stein Dec 11 '15 at 2:58
• Regardless of context, I feel like this is the perfect answer to "How do I insert special characters". – Stevoisiak Jul 10 '17 at 20:06
• No, far from it. This lacks all the interesting invisible characters e.g. U+200F RIGHT-TO-LEFT MARKER, U+00A0 NO-BREAK SPACE, U+FEFF ZERO WIDTH NO-BREAK SPACE, etc etc etc. – ulidtko Sep 18 '19 at 15:04
• Besides in principle lacking invisible characters, this answer is far from perfect, because of flawed assumptions. 1) That you can fit "all of Unicode" onto 2-3 pages of copypaste wall -- you can't even think so; 2) That Unicode won't change in future -- it changes constantly (google://ninja+emoji); 3) That the viewer will have all needed glyphs and understand that others see different glyphs. Spawning a proper charmap app is way closer to "perfect answer". – ulidtko Sep 18 '19 at 16:24
• @ulidtko I was going to make a joke about them being already there, but it wasn't very funny. So I added a few spacey characters instead. Your thoughts? Invisible things can be hard to find. – Bob Stein Sep 20 '19 at 15:01

If you can write using the numeric keypad, that means you already have the code point for the character. Simply enter the hex value of the character(s) you want into Notepad++, select them, then open the menu: Plugins → Converter → HEX -> ASCII

Demonstration:

ASCII to HEX and HEX to ASCII Conversion Notepad++

You can also get live results from the conversion panel

Another way is using the HexEditor plugin, which was included in prior versions of Notepad++ but was removed recently. You can still install the plugin (or reactivate it if it was disabled) from the plugin manager with the caveat that sometimes it may be unstable.

This way you just select Plugins → Hex-Editor → View in HEX (or click the H button near the right of the menu bar) then type the UTF-8 bytes into the hex edit window. For example to get the string 🔙🔚🔛🔜 which is f0 9f 94 99 f0 9f 94 9a f0 9f 94 9b f0 9f 94 9c in UTF-8, just type those hex values in to dump column and switch back to normal text mode; you'll see those characters appear.

Note that it might be easier to work in UTF-16 or UTF-32 since getting UTF-8 encoding of a character manually is tricky. After all, just convert the file back to UTF-8 when saving

It's also possible to use the Base64 converter for this purpose. Just select the base64 encoded string and select Plugins → MIME Tools → Base64 Decode

If you just want to enter a few special characters frequently, it's better to use a macro.

First you need to get the base64 encoding of the string by pasting it to Notepad++ and then use the Base64 Encode feature. After that select Macro → Start recording, type the base64 string you get, select it and decode it as above. Now you can stop recording and save the macro with some descriptive name and possibly along with a shortcut. It's also possible to use the HEX → ASCII feature instead of base64

Later when you want to insert that string, just replay the macro

# Edit:

The Conversion Panel works with Unicode only if you paste a Unicode character directly in the ASCII field

• I would split this triple answer into 3 sections (or even 3 answers). I don't think the second one (Conversion Panel) helps beyond the basic 256 however. – Bob Stein Oct 8 '15 at 18:57
• I didn't try that but the other 2 work fine for UTF-8 – phuclv Oct 8 '15 at 19:01
• Responding to the first and third sections, although the question specifically asks for a see-and-click solution, which is far more convenient than having to know the code point, these are very interesting alternatives to inserting a Unicode character. The first seems more accessible, and would be improved with step-by-step instructions. E.g. to insert an em—dash, (1) Find the UTF-8 encoding somehow (link?) (2) Type E28094 (3) Plugins | Converter | HEX -> ASCII. Voila. Non-sequitur: this is a great way to go the other way, to determine the UTF-8 coding for a character I can cut and paste. – Bob Stein Oct 8 '15 at 19:03
• @BobStein-VisiBone you don't need to determine the UTF-8 encoding. Just convert the file to UTF-16 and enter the code point directly (if it fits in one UTF-16 unit), then convert back to UTF-8 if needed, otherwise you can simply use UTF-16 consistently. UTF-32 would work for all code points, but I don't know how to use UTF-32 in Notepad++ – phuclv Oct 9 '15 at 4:02
• Of course, this only works for ASCII, not Unicode, rofl... What year is it? – Andrew Aug 15 '17 at 18:59

If you know some LaTeX, you can use this AutoHotKey script to convert LaTeX-like input to Unicode characters. Ctrl+Alt+Shift+U will toggle it on (icon H on the taskbar) and off (icon S).

So for example, if you type

\alpha \beta \Gamma \infty ^1 _2 \Bbb{R}


the result will be αβΓ∞¹₂ℝ

The other answers are excellent. Some people may also be interested in this handy little gratis tool called "The UnicodeInput Utility":

https://www.fileformat.info/tool/unicodeinput/index.htm

If you know the hex value of the character, simply enter it into the tool's GUI and the corresponding Unicode character will get inserted for you. Simple and effective!