Skip to content
Switch branches/tags
Go to file


A compose key for Windows, free and open-source, created by Sam Hocevar.

A compose key allows to easily write special characters such as รฉ ลพ ร  ล รป รธ โ˜บ ยค โˆ… ยซ โ™ฏ โธ˜ โ“€ ใŠท โ™ช โ™ฌ using short and often very intuitive key combinations. For instance, รถ is obtained using o + ", and โ™ฅ is obtained using < + 3.

WinCompose also supports Emoji input for ๐Ÿ˜ ๐Ÿ‘ป ๐Ÿ‘ ๐Ÿ’ฉ ๐ŸŽ ๐ŸŒน ๐ŸŠ.

Download latest: WinCompose 0.9.6 (December 3, 2020)

Note: this software is not digitally signed. You can help with this by donating to the project.

Quick start

After installation, WinCompose should appear in the System Tray. Press and release the โŽ„ Compose key to initiate a compose sequence (this key defaults to Right Alt); the icon should change to indicate a compose sequence is in progress.

Then type in the keys for a compose sequence, such as A then E for ร†:

Quick Launch

If Right Alt is not suitable for you, you can change it in the options.


Compose rules are supposed to be intuitive. Here are some examples:

  • โŽ„ Compose ` a โ†’ ร 
  • โŽ„ Compose ' e โ†’ รฉ
  • โŽ„ Compose ^ i โ†’ รฎ
  • โŽ„ Compose ~ n โ†’ รฑ
  • โŽ„ Compose / o โ†’ รธ
  • โŽ„ Compose " u โ†’ รผ
  • โŽ„ Compose o c โ†’ ยฉ
  • โŽ„ Compose + - โ†’ ยฑ
  • โŽ„ Compose : - โ†’ รท
  • โŽ„ Compose ( 7 ) โ†’ โ‘ฆ
  • โŽ„ Compose C C C P โ†’ โ˜ญ
  • โŽ„ Compose < 3 โ†’ โ™ฅ

Emoji sequences typically start with two โŽ„ Compose hits:

  • โŽ„ Compose โŽ„ Compose a n g r y โ†’ ๐Ÿ˜ 
  • โŽ„ Compose โŽ„ Compose g r i n n i n g โ†’ ๐Ÿ˜
  • โŽ„ Compose โŽ„ Compose s u s h i โ†’ ๐Ÿฃ
  • โŽ„ Compose โŽ„ Compose s n a k e โ†’ ๐Ÿ

A special Unicode input mode can be activated in the options and lets the user type in any Unicode character:

  • โŽ„ Compose u 5 8 d Enter โ†’ ึ (U+058D Right-Facing Armenian Eternity Sign)
  • โŽ„ Compose u 2 3 f 0 Enter โ†’ โฐ (U+23F0 Alarm Clock)

The full list of rules can be found by clicking on the WinCompose system tray icon or using the โ€œShow Sequencesโ€ฆโ€ menu entry:

Sequence List

The window allows you to filter the sequences being listed.


WinCompose supports the standard Compose file format. It provides more than 1700 compose rules from the Xorg project and the dotXCompose project. You can add custom rules by creating a file named .XCompose or .XCompose.txt in your %USERPROFILE% folder. WinCompose must be restarted for changes to take effect.

WinCompose stores its state in the %APPDATA%\wincompose folder: settings.ini contains the settings, and metadata.xml contains all the metadata associated with sequences.

WinCompose supports rules of more than 2 characters such as โŽ„ Compose ( 3 ) for โ‘ข.

WinCompose supports early exits. For instance, โŽ„ Compose q will immediately type q because there is currently no rule starting with q.

As of now, WinCompose is almost fully translated to Belarusian, Chinese, Czech, Dutch, Estonian, French, German, Greek, Italian, Japanese, Lithuanian, Norwegian, Polish, Portuguese, Brazilian Portuguese, Russian, Sardinian, Spanish, and Swedish. It is partially translated to Danish, Esperanto, Finnish, Hungarian, Indonesian, Irish, Romanian, Serbian, Slovak, and Slovenian. You can help us translate it to more languages using the Weblate project:

Translation status


Make sure that all Git submodules are fetched, then just open src/wincompose.sln in Visual Studio in order to build WinCompose. You will also need to install Inno Setup if you wish to build the installer.

Bugs and Improvements

Please report bugs or suggest improvements to Sam Hocevar or preferably to the GitHub issue tracker.