Skip to content
๐Ÿ”ฃ Compose Key for Windows
C# Inno Setup Pascal Shell HTML C++ Makefile
Branch: master
Clone or download

Latest commit

fitojb and weblate Translated using Weblate (Esperanto)
Currently translated at 76.4% (120 of 157 strings)
Latest commit 429d58e May 13, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
src Translated using Weblate (Esperanto) May 15, 2020
tests Fix testsuite compilation. Nov 3, 2019
web Update webpage. Nov 13, 2019
.gitmodules Add Inno Setup source as a submodule for unofficial translations. Nov 18, 2019
COPYING Remove mention of AHK because we wonโ€™t be using it anymore. Dec 15, 2014 Release 0.9.4. Dec 8, 2019 Minor addition to Jan 8, 2016


A compose key for Windows, free and opensource, created by Sam Hocevar with the help of dozens of contributors.

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.4 (December 6, 2019)

Note: the 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% directory. WinCompose must be restarted for changes to take effect.

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

Sam wrote WinCompose because none of the alternatives (FreeCompose, CKFW, AllChars or Unichars) were found to be satisfying.

Bugs and Improvements

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

You canโ€™t perform that action at this time.