Ukelele is a Unicode Keyboard Layout Editor for the macOS.
The macOS supports an XML-based format for keyboard layouts (
.keylayout files). However, modifying keyboard layouts—let alone creating entirely new keyboard layouts, such as for a new script—by directly editing the XML text is tedious and error-prone.
Ukelele aims to simplify keyboard layout editing by providing a graphical interface to
.keylayout files, where the desired characters can simply be dragged onto keys as needed. (The Character Viewer or Character Palette, available in the Input menu if it has been enabled in System Preferences, and shown with Show Emoji & Symbols, is a great place to find the characters.)
In addition to simple assignment of single character codes to keys, Ukelele can assign multiple-character strings and can create “dead keys”, where a keystroke sets a new state that modifies the output of the following keystroke.
A more flexible, cross-plaform keyboard utility for macOS 10.7 (Lion) and later is Keyman. However, Keyman does not use the same
.keylayout files as Ukelele and requires additional software to use.
Ukelele is written by John Brownie of SIL and is copyright ©2003-2021. This software is currently provided under a freeware license, but future versions will be released under an open source license.
Download the software using the links below. The
.keylayout files may be installed by copying them to the Keyboard Layouts folder within /Library or ~/Library; then they are enabled via the Input Sources (Input in 10.5 and earlier) tab of the Keyboard (Language & Text in 10.9 and earlier, International in 10.5 and earlier) module within System Preferences.
Versions 3.3 and later require macOS 10.9 (Mavericks) or above. Version 3.2.7 requires macOS 10.8 (Mountain Lion) or above. Version 2.2.8 requires macOS 10.4 (Tiger) or above.
|Ukelele 3.5.4||for Mac|
|Ukelele 3.4.2||for Mac|
|Ukelele 3.3.0||for Mac|
|Ukelele 3.2.7||for Mac|
|Ukelele 2.2.8||for Mac|
|Ukelele 1.8.4||for Mac|
|Keyboard Juggler 1.0||for Mac|
A companion application to Ukelele is Keyboard Juggler, available for macOS 10.10 (Yosemite) and later. This is a simple application that allows you to move keyboard layouts in and out of the installation folders without having to use the Finder. It is not needed for Ukelele version 3.3 or later, as its functionality has been incorporated into Ukelele.
Detailed version history is provided on a separate page.
Feedback about the Ukelele tool is invited (see the Read Me file for contact information). This software is provided in the hope that it may be useful, but with no warranty, expressed or implied, and with no guarantee of support or future upgrades.
There is also a user forum at Google Groups, the Ukelele Users group, available at http://groups.google.com/group/ukelele-users.
If you are unable to obtain support through the Google group, please contact us.