Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 1, 2023 20:21
January 17, 2021 22:59
September 24, 2023 17:32
April 12, 2021 00:28
November 4, 2019 19:31
September 15, 2020 21:23
August 30, 2021 22:27
September 30, 2023 21:01
July 11, 2016 14:12
September 10, 2023 08:56
September 22, 2023 21:13
June 7, 2023 09:16
December 2, 2020 10:06
August 19, 2023 20:26
September 24, 2023 22:46

Build Status License


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


You can download Karabiner-Elements from the official site.

Alternatively, for users of homebrew, Karabiner-Elements may be installed with brew install --cask karabiner-elements.

Old releases

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

Supported systems

  • macOS 11 Big Sur
  • macOS 12 Monterey
  • macOS 13 Ventura
  • macOS 14 Sonoma



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 12+
  • Xcode 13.3+
  • Command Line Tools for Xcode (xcode-select --install)
  • xz (brew install xz)
  • XcodeGen (brew install xcodegen)
  • CMake (brew install cmake)


  1. Get source code by executing the following command in

    git clone --depth 1
    cd Karabiner-Elements
    git submodule update --init --recursive --depth 1
  2. (Optional) If you have a codesign identity:

    1. Find your codesign identity.

      security find-identity -p codesigning -v | grep 'Developer ID Application'

      The result is as follows.

      1) 8D660191481C98F5C56630847A6C39D95C166F22 "Developer ID Application: Fumihiko Takayama (G43BCU2T37)"

      Your codesign identity is 8D660191481C98F5C56630847A6C39D95C166F22 in the above case.

    2. Set environment variable to use your codesign identity.

      export PQRS_ORG_CODE_SIGN_IDENTITY=8D660191481C98F5C56630847A6C39D95C166F22
    3. Find your codesign identity for installer signing.

      security find-identity -p basic -v | grep 'Developer ID Installer'

      The result is as follows.

      1) C86BB5F7830071C7B0B07D168A9A9375CC2D02C5 "Developer ID Installer: Fumihiko Takayama (G43BCU2T37)"

      Your codesign identity is C86BB5F7830071C7B0B07D168A9A9375CC2D02C5 in the above case.

    4. Set environment variable to use your codesign identity for installer signing.

  3. Build a package by executing the following command in

    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-DriverKit-VirtualHIDDevice/dist/Karabiner-DriverKit-VirtualHIDDevice-*.dmg
  • Sparkle.framework in src/apps/SettingsWindow/

The 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.