Skip to content
Branch: master
Find file Copy path
Find file Copy path
8 contributors

Users who have contributed to this file

@tekezo @carlsmith @ys64 @talha131 @sitaktif @mchowning @Luxcium @cperryk
80 lines (49 sloc) 2.6 KB

Build Status License


Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra or later.


You can download Karabiner-Elements from official site.

Old releases

You can download previous versions of Karabiner-Elements from here.

Supported systems

  • macOS Sierra (10.12)
  • macOS High Sierra (10.13)
  • macOS Mojave (10.14)
  • macOS Catalina (10.15)



If you would like to contribute financially to the development of Karabiner Elements, donations can be made via

For developers

How to build

System requirements to build Karabiner-Elements:

  • macOS 10.14+
  • Xcode 10+
  • Command Line Tools for Xcode
  • CMake (brew install cmake)

Step 1: Getting source code

Clone the source from github.

git clone --depth 1

Step 2: Building a package

cd Karabiner-Elements
make package

The make script will create a redistributable Karabiner-Elements-VERSION.dmg in the current directory.

Note: About pre-built binaries in the source tree

Karabiner-Elements uses some pre-built binaries in the source tree.

  • src/vendor/Karabiner-VirtualHIDDevice/dist/*.kext
  • src/vendor/Sparkle/Sparkle.framework

Above make package command does not rebuild these binaries.
(These binaries will be copied in the distributed package.)

If you want to rebuild these binaries, you have to build them manually.
Please follow the instruction of these projects.

About rebuilding kext in Karabiner-VirtualHIDDevice

If you want to build kext in Karabiner-VirtualHIDDevice, macOS requires a valid certificate which be able to sign the built kext.
Unless such certificate, macOS refuses to load the built kext.
Please read a documentation about System Integrity Protection Guide for more details.

(We are including the pre-built kext binary to avoid the restriction that macOS requires a uncommon certificate.)

You can’t perform that action at this time.