Awesome Open Source
Awesome Open Source

Kotlin Multiplatform Libraries

Libraries

Network

Http

  • Ktor - Framework for quickly creating connected applications in Kotlin with minimal effort
    badge badge badge badge badge badge badge

  • ktor-client-oauth-feature - Ktor Client Feature for handling OAuth token refreshes
    badge badge

GraphQL

  • apollo - Multiplatform official GraphQL client.
    badge badge badge

  • suparnatural-graphql - Strict type safe GraphQL client with support for composable links.
    badge badge badge

  • kgql - GraphQL Document wrapper generator for Kotlin Multiplatform Project and Android

Real-time communication

Stomp

  • krossbow - A Kotlin multiplatform coroutine-based STOMP client over websockets
    badge badge

Utility

  • Connectivity status - Monitor the internet connection status of your device on Android and iOS.
    badge badge

Authentication

  • cognito-idp - Lightweight AWS Cognito Identity Provider client for Kotlin Multiplatform projects.
    badge badge badge badge

Serializer

Storage

RDB

  • SQLDelight - Generates typesafe Kotlin APIs from SQL.
    badge badge badge badge badge badge badge badge badge

  • SQLiter - Minimal multiplatform sqlite library
    badge badge badge badge badge badge

NoSQL

  • Realm - Kotlin Multiplatform and Android SDK for the Realm Mobile Database: Build Better Apps Faster.
    badge badge

  • Kodein-DB - Embedded NoSQL database
    badge badge badge badge badge badge badge

KVS

  • multiplatform-settings - A Kotlin Multiplatform library for saving simple key-value data.
    badge badge badge badge badge badge badge badge badge

  • KVault - Secure key-value storage for Kotlin Multiplatform projects.
    badge badge

  • Kissme - Kissme: Kotlin Secure Storage Multiplatform
    badge badge

  • Multiplatform-Preferences - Kotlin Multi Platform Preferences, for android an ios : SharedPreferences & NSUserDefault.
    badge badge

  • kds - Multiplatform coroutine-based kotlin library for saving Serializables with kotlinx.serialization and delegates.
    badge badge badge badge

FILE

  • okio - A modern I/O library for Android, Kotlin, and Java.[WIP]
    badge badge badge badge

  • suparnatural-fs - Kotlin Multi Platform File System access library for iOS and Android.
    badge badge

  • suparnatural-cache - A superfast, thread safe in-memory cache with configurable hashing schemes backed by persistent stores with blocking/non-blocking I/O.
    badge badge

DI

  • Kodein-DI - Painless Kotlin Dependency Injection
    badge badge badge badge badge badge badge badge badge badge

  • Koin - A pragmatic lightweight dependency injection framework for Kotlin
    badge badge

  • PopKorn - Forget about modules and components. DI can be simple.
    badge badge badge badge badge badge

Image

  • korim - Kotlin cORoutines IMaging, Bitmap and Vector graphics for Multiplatform Kotlin
    badge badge badge badge badge badge badge badge badge

Audio

  • korau - Pure Kotlin WAV, MP3 and OGG vorbis decoders
    badge badge badge badge badge badge badge badge badge

Bluetooth

  • Blue-Falcon - A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android
    badge badge badge

  • Kable - Simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.
    badge badge badge badge

Reactive

Rx

  • Reaktive - Kotlin multi-platform implementation of Reactive Extensions
    badge badge badge badge badge badge badge badge badge

  • RxCommon - Multiplatform implementation of ReactiveX providing a common way to build one set of business logic for native, iOS, Javascript, Android, JVM, and other platforms
    badge badge badge badge

LiveData(Android)

Utility

Asynchronous

  • coroutine (official) - Support for Kotlin coroutine.
    badge badge badge badge badge badge badge badge badge

  • suparnatural-concurrency - Unified APIs such as Workers, Schedulers for cross-platform multithreading on iOS and Android.
    badge badge

  • Koru - Coroutine wrappers for Kotlin Native generated from annotations.
    badge badge badge badge badge badge

  • KMP-NativeCoroutines - Library to use Kotlin Coroutines from Swift code in KMP apps.
    badge badge

  • FlowExt - Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library.
    badge badge badge badge badge badge badge badge badge

Date, Time

  • kotlinx-datetime - Official date and time library
    badge badge badge badge badge badge badge badge badge

  • klock - Multiplatform Date and time library for Kotlin
    badge badge badge badge badge badge badge badge badge

  • island-time - A Kotlin Multiplatform library for working with dates and times
    badge badge badge badge badge badge badge

  • time - Type-safe time calculations in Kotlin, on any platform
    badge badge badge badge badge badge

  • fluid-time - Kotlin multiplatform date & time library
    badge badge badge

  • kcron - Kotlin multiplatform Cron library
    badge badge badge badge

EventBus

Number

Cipher

  • krypt - Cryptography library. Support for SecureRandom, Hash(MD5/SHA1/SHA256), AES.
    badge badge badge badge badge badge badge

  • kotlin-multiplatform-libsodium - A Kotlin Multiplatform wrapper for Libsodium cryptography library. badge badge badge badge badge badge badge badge badge

String Utils

  • FuzzyWuzzy-Kotlin - Fuzzy string matching on collections. Port of python & java library.

badge badge badge badge badge badge badge badge

  • kasechange - Multiplatform Kotlin library to convert strings between various case formats including Camel Case, Snake Case, Pascal Case and Kebab Case.
    badge badge badge badge badge badge badge badge badge badge

  • kotlin-multiplatform-diff - Multiplatform Kotlin library for calculating text differences.
    badge badge badge badge badge

  • doistx-normalize -- Kotlin Multiplatform library for string unicode normalization (UAX #15).
    badge badge badge badge badge badge badge badge badge

Input/Output

  • keyboard-mouse-kt - Multiplatform Kotlin library for interacting with global keyboard and mouse events and states.
    badge badge badge badge

Analytics

Atomic

  • AtomicFu - The idiomatic way to use atomic operations in Kotlin
    badge badge badge badge badge badge badge badge badge

UUID

  • uuid - Kotlin Multiplatform UUID
    badge badge badge badge badge badge badge

Paging

Kotlin/Native

  • Stately - The library is set of multithreaded collection classes that will allow multithreaded mutation in Kotlin/Native.
    badge badge badge badge badge badge

  • coroutineworker - Kotlin Coroutine-based workers for native
    badge badge badge badge

Units

  • Measured - Intuitive, type-safe units of measure.
    badge badge

Monads

  • Kotlin utilities - Scala utility types: Option, Either, Try for Kotlin Multiplatform.
    badge badge badge badge badge badge badge badge badge badge

  • kotlin-result - A Result monad for modelling success or failure operations.
    badge badge badge

Debug

Logging

  • Napier - Logging library for Kotlin Multiplatform.
    badge badge badge badge

  • KmLogging - High performance, composable multiplatform logging.
    badge badge badge badge badge badge badge

  • klogger - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Multiplatform-Log - Logging library for Kotlin Multiplatform.
    badge badge

  • Kermit - Kotlin Multiplatform logging utility with composable log outputs and prebuilt loggers.
    badge badge badge badge badge badge badge

  • Log4k - Logging library for Kotlin Multiplatform.
    badge badge badge badge badge badge badge

  • Cabret-Log - Method call logging for Kotlin Multiplatform
    badge badge badge badge badge

Test

Annotation Processor

  • MpApt - Kotlin Native/JS/JVM Annotation Processor library
    badge badge badge badge badge badge

  • kotlin-native-suspend-function-callback - Kotlin Multiplatform compiler plugin to generate a callback implementation for suspended functions so they are visible from Kotlin Native
    badge badge badge

GUI

  • moko-widgets - Declarative UI and screens management in common code for mobile (android & ios) Kotlin Multiplatform development
    badge badge

  • kgl - This library provides a thin OOP wrapper with DSLs to make programming with vulkan easier.
    badge badge badge badge badge

  • kotlin-libui - Kotlin/Native interop to libui: a portable GUI library
    badge badge badge

  • kotlin-material-ui - Kotlin Wrapper Library of Material-UI
    badge

  • muirwik - Kotlin Wrapper Library of Material-UI
    badge

  • compose-macos-theme - Multiplatform MacOS theme written in Compose UI
    badge badge

Command Line Interface

  • Clikt - Multiplatform command line interface parsing for Kotlin
    badge badge badge badge badge

Firebase

  • Firebase Kotlin SDK - Firebase SDK for Kotlin Multiplatform projects (Firebase Authentication, Realtime Database, Cloud Firestore, Cloud Functions, Cloud Messaging and Cloud Storage).
    badge badge badge

Architecture

  • kompass - Kotlin Multiplatform Router for Android and iOS

  • oolong - MVU for Kotlin Multiplatform

  • moko-mvvm - MVVM architecture components for mobile multiplatform with LiveData (iOS and Android)
    badge badge

  • MVIKotlin - MVI framework for Kotlin Multiplatform.
    badge badge badge badge badge badge

  • ReduxKotlin - Redux implementation for Kotlin (supports multiplatform JVM, native, JS, WASM)
    badge badge badge badge badge badge badge badge

  • ReKamp - Port of ReKotlin to Kotlin Multiplatform, which corresponds to ReKotlin/1.0.4.
    badge badge badge

  • Kaskade - Simplifying UI state management in Kotlin Multiplatform.
    badge badge badge badge

  • Flywheel - A simple and predictable state management library inspired by Redux and a few more. Fully built on top of coroutines using the concept of actors.
    badge badge badge badge badge badge badge badge badge

Project templates

  • moko-template - Template project of a Mobile (Android & iOS) Kotlin MultiPlatform project with the MOKO libraries and modularized architecture
    badge badge

Docs

Build & Development Tools

Contribute

Welcome contribute! Please read the contribution guidelines first.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
kotlin (3,777
kotlin-android (345
kotlin-library (140
kotlin-multiplatform (75
kotlin-native (41
kotlin-js (21