Site icon

KeyboardKit – Сustom keyboard extensions

KeyboardKit is a Swift library that helps you build custom keyboards with Swift and SwiftUI. It extends the native keyboard APIs and provides you with a lot more functionality than is otherwise available.

The end result can look something like this…or entirely different:

KeyboardKit lets you create keyboards that mimic the iOS stock keyboard in a single line of code. These keyboards can be customized to great extent to change their input keys, keyboard layout, design, behavior etc.

You can also use entirely custom views with the rich features of KeyboardKit, to create completely custom keyboard extensions. Most of the KeyboardKit features can be used on all major Apple platforms as well.

Supported Platforms

KeyboardKit supports iOS 13macOS 11tvOS 13 and watchOS 6.

Although KeyboardKit builds on all platform, some features are unavailable on some platforms.


KeyboardKit can be installed with the Swift Package Manager:

or with CocoaPods:

pod KeyboardKit

You can add the library to the main app, the keyboard extension and any other targets that need it.

Getting started

The online documentation has a getting-started guide that will help you get started with the library.


The online documentation has articles, code examples etc. that let you overview the various parts of the library and understand how they all connect to each other.

The online documentation is currently iOS-specific. To generate documentation for other platforms, open the package in Xcode, select a simulator then run Product/Build Documentation.

Note that extensions to native types are not included in this documentation. Future versions of this library will refactor the extensions in a way that makes them appear in the documentation.


KeyboardKit is localized in 50+ keyboard-specific locales (read more):



KeyboardKit comes packed features to help you build amazing and powerful keyboards:

KeyboardKit Pro

KeyboardKit Pro extends KeyboardKit with pro features, such as additional locales, autocomplete engines, more extensions, additional views etc. It lets you create fully localized system keyboards with a single line of code.

KeyboardKit Pro requires a commercial license. Licenses can be purchased from the website or from Gumroad.

Demo Applications

This project contains a Demo folder with two demo apps that lets you try out KeyboardKit.

Demo uses KeyboardKit and lets you type in a light and dark text field. It has three keyboards:

ProDemo uses KeyboardKit Pro and supports 50+ locales, autocomplete etc. It has two keyboards:

Just open and run any of these projects, then enable the keyboards you want to try under System Settings.

Note that you need to enable full access to try some features, like audio and haptic feedback.


KeyboardKit is trusted and proudly sponsored by the following companies:


KeyboardKit is open-source and completely free, but you can sponsor this project on GitHub Sponsors, upgrade to KeyboardKit Pro or get in touch for paid support.

KeyboardKit on GitHub:
Platform: iOS
⭐️: 869
Exit mobile version