On Linux, the Compose key is a great way to enter many symbols. E.g.

  • em-dash — by pressing Compose then - - -
  • ö by pressing Compose then : o
  • Euro € by pressing Compose then C =

(The Compose key function can be assigned to various keyboard keys, such as right/left Alt, right/left Windows key.)

I really miss the Compose key when using Windows. I've looked but so far haven't found any way to get equivalent Compose key functionality on Windows. Does anyone know of how to do it?

  • AllChars doesn't work in a Windows TSE server. – user71945 Mar 16 '11 at 7:19
up vote 55 down vote accepted

Though this is an old question, many others probably stumble upon it via a Google search. So about 4 years after it's been asked, I figured a few more options do exist. I couldn't test them all (at home I have no Windows but those for light and fresh air -- and at work I cannot access e.g. Dropbox to download the archives of some), but here's a short list:

  • AllChars: Last updated in 2009, but still seems to work up to Vista. Additionally offers "macros", which one cannot disable or edit on Vista, so the pre-defined ones might get in your way (not that likely, but they might). Update: After having used it for a while, I encountered some strange effects I attribute to this app (as they didn't happen before I installed it). No pattern in regularity, but sometimes my keyboard seemed to be messed up, CAPS inverted, some keys not working. Might be something else, though – but I didn't have that before. Update 2: None of the side-effects encountered since I switched to...
  • WinCompose: No extra gimmicks like macros or the like, but that's not what we're looking for here :) Seems to use the very same layout I'm used to on Linux. Need some longer testing, but after one day it's already my favorite candidate here. Edit: Half a year later, it's still my favorite. Easy to install, runs stable, no side-effects, simply great! Update: Reportedly works from Vista to Win10. Still happy with it 3.5 years later :)
  • CKFW: Compose Key For Windows. Couldn't test it as I couldn't access Dropbox for download.
  • Unichars: I didn't test it due to the restrictions listed in this blog (doesn't work with all programs).
  • FreeCompose: Last release in 2011, though the dev claims it's still alive in the repos. It's supposed to work with most programs (PuTTY had trouble, but a patch is provided). Disadvantages: annoying beep when "composing", which cannot be switched off. Also compose sequences are not the standard ones. Advantages: You can define your own sequences, and the service can be de-activated while running (without exiting it).
  • USCompose is an alternative US keyboard layout, including some compose stuff. Not always matching the Linux compose key sequences.
  • Accent Composer: commercial; demo available. Not tried.
  • Compose-Keys: Claims to mimic the Linux compose key sequences (I missed a few, and not all of them seemed to work; sometimes one simply needs to "try until they do". Well, I have the same issue on Linux sometimes ;) Freely available at GitHub.
  • WebComposeKey: browser-based, cross-platform. Nice to learn what sequences are available :)
  • DIY: Microsoft Keyboard Layout Creator

This should give anyone in need a few additional options. I wonder if MS will finally built this functionality into their releases, where it belongs (note the "if", not "when")...

  • 3
    Hi. I think the problem with WinCompose was that it only shipped a 64-bit executable. This was since fixed in version 0.4.4. – sam hocevar Sep 3 '13 at 22:59
  • 8
    I humbly suggest you do, yes. I wrote WinCompose because no other alternative in your list satisfied me. I kept it as simple as possible but am totally open to suggestions for improvements. – sam hocevar Sep 4 '13 at 8:46
  • 2
    @Khaur I also used AllChars until today. Since I started using it, I sometimes noticed some strange behaviour (e.g. my keyboard was reacting strangely, as if inverting/messing up CAPS, and other things). After Sam's comment, I now gave WinCompose another try. Seems to work like a charm! No extra gimmicks (like macros etc), but I wasn't after gimmicks anyway :) Give me a few more days of testing before I update my answer, but currently WinCompose seems to be the first choice! – Izzy Sep 4 '13 at 19:26
  • 1
    @Izzy There is one feature of AllChars that I might miss: the option to try a case insensitive match if no matching combination was found. It's not standard Unix behaviour anyway, but it sounded neat. – Khaur Sep 4 '13 at 19:32
  • 2
    I used AllChars for years under Windows XP, but now that WinCompose has come, it's the way to go. It does things exactly right. Thank you @SamHocevar! – Gilles Mar 12 '14 at 22:04

There are a couple of utilities to emulate the Unix-a-like key composition chords under windows. Allchars is one, which is also F+OSS, though I've not actually tried it myself yet (it is one of the many utilities in my "to try later" bookmark folder).

  • 1
    If I understand what it's saying on the web page, it can only be used to enter characters with value 0..255 that are in the computer's "default code page"—so really quite limited. – Craig McQueen Dec 8 '09 at 6:23
  • 2
    I've just tried the latest version, and it seems much more capable than the web page suggests. Perhaps the web page is quite out of date. Actually I think AllChars seems to hit the spot after all. – Craig McQueen Feb 4 '10 at 12:31
  • 3
    The current version looks like it's written in C#, with updates in 2009 - check out the SourceForge site: sourceforge.net/projects/allchars – David Pope Nov 17 '10 at 1:35
  • With a title like AllChars one would expect it to cover at least the basic latin script variants, but it fails at a simple ė (fileformat.info/info/unicode/char/117/index.htm). – relet Mar 28 '11 at 11:52

On Windows, AllChars should do what you want. I have been using it for the exact purpose you describe for almost a year now.

Caveat: If you install AllChars and your keyboard starts to behave weirdly, try one of the other versions they offer, possibly the alpha/beta. They all seem to have different issues with the different versions of Windows out there. But one of them should work with whatever you use.

There's also Freecompose, found on code.google.com, but it has that annoying beep everytime you start compose mode.

Accent Composer looks promising, and I hope to try it some time.

Actually AllChars seems to do what I need (despite the web site saying it doesn't; I guess the web site's info is out-of-date compared to the latest version), and it's free. So I won't bother with Accent Composer.

You can use United states-International keyboard layout, You can type accented characters easily without any special software.

` + a = à

' + c = ç

" + o = ö

I don't think you can use it for € and m-dash though

Within MS programs (word, outlook, etc.) you can type ctrl + : o to get ö and ctrl + ` e to get è


  • 1
    Something that only works in one application is just frustrating. – Craig McQueen Mar 16 '17 at 22:02
  • 1
    As I stated, it works in the entire office suite, and I think it is valuable information. But you point is well taken. It would be nice if windows provided a universal solution that didn't require changing your keyboard layout. – Jeffery Williams Mar 24 '17 at 23:17

If I understand what the Compose key does in Linux, the Windows equivilant is to press Alt Gr along with a key such as A to produce á or Á, E to produce é or É etc.

You can also hold down the left Alt key along with a number code on the numerical keyboard which will produce many symbols such as

Alt+1 = ☺

Alt+2 = ☻

Alt+3 = ♥

Alt+4 = ♦

Alt+5 = ♣

Alt+6 = ♠

Alt+7 = •

Alt+8 = ◘

Alt+9 = ○

Alt+1,0 = ◙

There are thousands and after a quick look, I cannot find a complete list - I have found this guide that looks good - (and found it from this link) however there are many and you may find better.

Also, You can go in to Character map (either through Accessories or Run > "Charmap"), and click on a symbol and see what it's shortcut keystroke is - (it is not available for everything).

alt text

  • Mmm yes, m-dash can be got by holding down Alt and typing +2014 on the numeric keypad (possibly after setting a Windows registry setting to enable that function). But not intuitive like the Linux Compose key. And a bit difficult on a laptop. And doesn't work in Word. – Craig McQueen Nov 2 '09 at 2:49
  • 1
    Lucky you! I wish I had a '10' key. – dreamlax Feb 4 '10 at 3:17
  • 7
    You do misunderstand what Compose does. It lets you type characters not on the keyboard by entering an easy-to-remember sequence of two (sometimes more) characters, e.g. Compose : o to type ö or Compose C = to type . Entering characters by numbers or other obscure specifications is nowhere near an equivalent. – Gilles Nov 28 '11 at 21:06
  • 3
    The MS Windows character map is a joke. There is even not a search feature? – rds Dec 29 '11 at 12:40
  • 3
    @rds There is a search feature in the "Advanced view". – Craig McQueen Apr 11 '12 at 2:17

The compose function is not exactly the same as a dead key. Strictly a compose is stopping spacing and printing the following characters in the same place. So even if your font have no è it would be created from e and `. They are still two characters in the same space.

A deadkey is somthing else: you type the deadkey "`" and see nothing. but a following "e" will be replaced by an unicode char "è" which is one character (and not two in the same space).

A deadkey will only work with combinations which will result in unicode chars, while compose work with all keycombinations (in theory, it depends of the OS and aplication)

There are combinations of both methods (a compose with a valid unicode result automaticly converted in Unicode), so you compose C= results in a real € char and not simply printed C and = in the same place.

Composing the alphabetic char gets first, then the modification follows. Using Deadkey the modificatin (deadkey) gets first, then the alphabetic char.

For example in windows: deadkey "`" and "e" (Unicode U+0060 and U+0065) will result in "è" (unicode character 00E8)

e +0300 <\ALT> will be get the same optic, but two chars (Unicode U+0065 and U+0300)

Of course real unicode is the more stringent method. But compose is more flexible:

deadkey "" and "w" (Unicode U+0060 and U+0077) will result in "w" (no unicode character availible), you dont get a composition

w +0300 <\ALT> will be get the the ` over the w as composition an not unicode char, so it works (if its usefull is another question)

A keyboard-layout with deadkeys can be programmed with free microsoft keyboard layout converter, so you can remap deadkey functions to layers (for example, the AltGr layer is allmost empty, you can map deadkeys there), a goot help for the needed definitions is the greek keyboard layout. Compose keys can also be mapped, but dont click deadkey in the definition but simply type the unicode of the valid composekeys (beginning at U+0300)

The hard thing will be compose and deadkeys on a WindowsPC with restricted user rights (in office), where you can´t make driver changes and start own programms.

For this you can use an programmable keyboard (for example POS-keyboards) or an microcontroller converter (Soarer-Converter with teensy ++2.0). There you can put the composable chars in Unicode in extra layers. A way to make real deadkeys in hardware is not easy done - you have to programm your own adapter, a nobody has done it now (but Soarer is thinking about developing his converter for it)

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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