About KeyboardKit

KeyboardKit lets you build amazing iOS keyboard extensions

What is KeyboardKit?

KeyboardKit is a software developer kit (SDK) that lets you build custom keyboards and keyboard-related software for all major Apple platforms (iOS, macOS, tvOS, watchOS and visionOS).

KeyboardKit is uses native technology like Swift & SwiftUI, which gives you the full power to create native-running keyboard apps with minimum effort.

What is a custom keyboard?

A custom iOS keyboard extension is an app extension that you ship together with your main app, which can then replace the system keyboard in any app, by using the 🌐 key while typing.

A keyboard extension is the only kind of app that can be used directly with other apps in iOS, and the only way to let people use your app’s unique features within other apps.

What can a custom keyboard do?

Keyboard extension can render any user interface you want, and can resize the keyboard area to fit their content. This means that they can be taller or shorter than the native keyboard.

Keyboard extensions have a text document proxy that is used to integrate with the active app. The text document proxy can be used to read and modify text, move the text input cursor, etc.

Keyboard extensions are very restricted by default, but can request Full Access to be able to make network calls, access the pasteboard, etc.

What can a custom keyboard not do?

Keyboard extensions are quite limited by iOS in what they are allowed to do, and while KeyboardKit adds many features (see more further down) some things are just not possible.

Keyboard extensions can’t draw outside their bounds. This means that things like callouts must be drawn render within the keyboard frame.

Keyboard extensions must also open the main app to perform certain actions, like using the device microphone to perform dictation. KeyboardKit has tools that make this easier.

Keyboard extensions can only send text to the active app. Since the text document proxy doesn’t support images, users must manually copy and paste images with the pasteboard.

Finally, keyboard extensions are memory capped at ~70 MB (depending on hardware & OS), which means that you can’t load memory large AI models into them.

Why use KeyboardKit?

Apple’s keyboard APIs are very limited, and basically only lets you define a custom view and interact with the currently selected text field in very limited ways.

KeyboardKit extends these APIs with many more features to let you create customizable keyboards with just a few lines of code, using modern technologies lilke Swift & SwiftUI.

KeyboardKit provides you with a KeyboardView that mimics a native keyboard. It can be customized and styled to great extent, and lets you get a native-looking keyboard up and running in minutes.

KeyboardKit is completely free to start using. You can upgrade to KeyboardKit Pro to unlock more powerful pro features like 75 languages, autocomplete, emojis, AI-based features, etc.

Who uses KeyboardKit?

With over 1,7k stars on GitHub, KeyboardKit is one of the most popular SDKs for creating custom keyboards on Apple platforms.

KeyboardKit is used by enterprises, smaller companies, startups, universities and indie developers, who use it to improve the typing experience, bring AI-powered prompting to any app, etc.

Please see some of the case studies on the KeyboardKit blog for inspiration. Feel free to reach out if you want us to share your story and feature your company and product.

Who have created KeyboardKit?

KeyboardKit is developed by Kankoda in Stockholm, Sweden. We are experts in Swift & SwiftUI and software development for iOS, macOS, watchOS, tvOS & visionOS.

Don’t hesitate to reach out if you need help with anything or want to build something amazing.