Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


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.11 (September 3, 2021) or browse releases

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 Afrikaans, Belarusian, Catalan, 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.