Kotlin Multiplatform

Go cross‑platform without compromising performance, UX, or code quality

  • Android
  • iOS
  • Web
  • Desktop
  • Server
Get Started
https://youtu.be/RJtiFt5pbfshttps://youtu.be/5lkZj4v4-kshttps://www.bilibili.com/video/BV1es421T71C/https://youtu.be/uCkYZ-PvCmwhttps://medium.com/@charankumar-hm/our-journey-with-kotlin-multiplatform-from-curiosity-to-production-eeb788b620dahttps://youtu.be/Qu3jZX8RyFkhttps://engineering.block.xyz/blog/how-bitkey-uses-cross-platform-developmenthttps://youtu.be/GtJBS7B3eyMhttps://youtu.be/Qu3jZX8RyFkhttps://youtu.be/jhBmom8z3Qghttps://kotlinlang.org/lp/multiplatform/case-studies/down-doghttps://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23https://youtu.be/DcO9psUh4LIhttps://quizlet.com/blog/shared-code-kotlin-multiplatformhttps://blog.worldline.tech/2022/01/26/kotlin_multiplatform.htmlhttps://touchlab.co/https://kotlinlang.org/lp/multiplatform/case-studies/fastwork
https://youtu.be/RJtiFt5pbfshttps://youtu.be/5lkZj4v4-kshttps://www.bilibili.com/video/BV1es421T71C/https://youtu.be/uCkYZ-PvCmwhttps://medium.com/@charankumar-hm/our-journey-with-kotlin-multiplatform-from-curiosity-to-production-eeb788b620dahttps://youtu.be/Qu3jZX8RyFkhttps://engineering.block.xyz/blog/how-bitkey-uses-cross-platform-developmenthttps://youtu.be/GtJBS7B3eyMhttps://youtu.be/Qu3jZX8RyFkhttps://youtu.be/jhBmom8z3Qghttps://kotlinlang.org/lp/multiplatform/case-studies/down-doghttps://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23https://youtu.be/DcO9psUh4LIhttps://quizlet.com/blog/shared-code-kotlin-multiplatformhttps://blog.worldline.tech/2022/01/26/kotlin_multiplatform.htmlhttps://touchlab.co/https://kotlinlang.org/lp/multiplatform/case-studies/fastwork

Choose what to share

Maximum reuse, faster delivery.

Use Kotlin with Compose Multiplatform to share up to 100% of your app code – including UI – while still integrating with native APIs. Reduce dev time, ensure consistent behavior, and ship on Android, iOS, desktop, and web from a single codebase.

Get started

both-logic-ui

One logic layer, native experience.

Write your app's data handling and business logic once with Kotlin Multiplatform while keeping the UI fully native – perfect when UX precision is key and platform fidelity matters.

Get started

logic-native-ui

Stabilize and sync critical features.

Start by sharing an isolated, core part of your business logic – like calculations, validation rules, or authentication workflows – to improve consistency across platforms without requiring major architectural changes.

Get started

piece-of-logic

Choose where to share

Easily make your Android app cross-platform while keeping the majority of your Kotlin code.
Many popular libraries and architecture components – including those from Google, such as Room, DataStore, or ViewModel – can be used with Kotlin Multiplatform.

Share business logic seamlessly. Make your Kotlin functions available to call from Swift code, and use the full power of iOS APIs in your Kotlin code.
Use Compose Multiplatform to create screens that can be embedded in SwiftUI, or build the entire user interface in Kotlin. Easily use platform-specific views like MapKit or AVFoundation straight from your Kotlin code.

Share business logic with your web application and take advantage of Kotlin/Wasm and Compose Multiplatform to bring your app’s UX to the browser.

Use Kotlin with Compose Multiplatform to build cross-platform desktop applications with shared business logic and a consistent UI across Windows, macOS, and Linux – hardware-accelerated rendering included!
Use the well-established Kotlin and JVM ecosystems to quickly create your next desktop app.

Build your server-side applications with a modern JVM language, and use Kotlin Multiplatform to share data models, validation logic, and more.
Use a framework like Ktor to get familiar APIs not just on the server, but also on the client, and maximize the amount of code and knowledge you can reuse.

AI-powered code generation

Speed up your multiplatform coding with code generation powered by Junie, the coding agent by JetBrains.

Seamless tooling

Enjoy smart IDE support with the KMP plugin for IntelliJ IDEA and Android Studio, with common previews, cross-language navigation, refactorings, and debugging across Kotlin and Swift code.

Real-world success stories

case-study-mcdonalds-umain

“After a successful initial test with the payments feature, we expanded Kotlin Multiplatform to our entire McDonald's application. With KMP, we saw fewer crashes and better performance across both platforms after the launch.

We transitioned from a separate Android and iOS team to a more unified mobile team.”

Varsha Singh
Project Manager, McDonald’s app at Umain
case-study-netflix

Netflix uses KMP to share logic for their mobile studio apps, reducing duplication and enabling faster, more reliable development. This approach helps deliver high-quality features efficiently in the fast-paced world of TV and movie production.

Read the full story
case-study-bilibili

BiliBili (China version) has adopted Kotlin Multiplatform and Compose Multiplatform for the Instant Message feature.

Watch the full video
case-study-bilibili case
case-study-duolingo

“One exciting trend for Duolingo is that the more that we use Kotlin Multiplatform internally, the more we find ourselves speeding up in terms of shipping. It turns out after you learn something, you get really good at it. […] Now there's a lot more confidence behind it and we're building up that knowledge.”

John Rodriguez
The client platform team
case-study-wrike

Wrike adopted Compose Multiplatform early, with CMP-powered features in production since its beta state. Today, our production apps feature Calendars, Boards, Dashboards, Charts, Timesheet Approvals and more – all done with CMP. It’s helping us deliver consistent, high-quality experiences across platforms while streamlining our development process. With the iOS version now reaching stability, we’re excited to see this technology mature and look forward to expanding its implementation.

Alex Askerov
Mobile Tech Lead at Wrike
case-study-google-workspace

“We consider Kotlin Multiplatform validated in our Google Docs experiment […] we consider the experiment a success […] We’re actually very happy with it”

Jason Parachoniak
Multiplatform Lead in Google Workspace

“Starting from this small of a team, it was a huge speed win for X to be able to use Kotlin Multiplatform and write all of that logic once in one place… When you write a bug—not that I ever do that—you only have to fix it in one place.”

Eric Denman
Software Engineer at X
Explore more customer stories
Kotlin Multiplatform is a technology that allows you to create applications for various platforms and efficiently reuse code across them while retaining the benefits of native programming. Your applications will run on iOS, Android, macOS, Windows, Linux, and more.
Kotlin Multiplatform is the core technology that lets you share code – such as business logic, data models, networking, and more – across multiple platforms, including Android, iOS, desktop, web, and server. It focuses on code reuse without replacing the native UI unless you want it to.
Compose Multiplatform is an optional UI framework built on top of Kotlin Multiplatform. It allows you to share your user interface across platforms using a modern, declarative approach similar to Jetpack Compose on Android. You can use it to build visually appealing, responsive UIs for Android, iOS, desktop, and web from a single codebase.
Yes, Kotlin Multiplatform is production-ready for all supported platforms – Android, iOS, desktop, web, and server. Compose Multiplatform is stable for Android, iOS, and desktop, while the web target is currently in Beta.

Choose Kotlin Multiplatform when you need:

  • Incremental adoption: KMP lets you share code selectively – start with a single module or expand to your full app at your own pace.
  • Native performance: KMP compiles to native code for each platform with no bridges or VMs, ensuring high performance and responsiveness.
  • Truly native UI with Compose Multiplatform: Compose Multiplatform respects each platform's UI conventions, offering a native-feeling experience across Android, iOS, desktop, and web.
  • The same tools and architecture as Kotlin and Jetpack Compose: Your skills will transfer easily, reducing onboarding and ramp-up time.
  • Direct access to platform APIs: You can call native APIs directly – with no wrappers needed and zero time wasted waiting for framework updates.
  • Escape hatches for native code: You can write fully native code where needed (e.g. for performance-critical components), without having to abandon the cross-platform approach.
Learn more about KMP and Flutter and KMP and React Native.
No. You can start small by sharing a module or feature and integrating it into your existing app. KMP is designed for gradual adoption, making it easy to incrementally introduce cross-platform code.

Go cross-platform without compromises —
try Kotlin Multiplatform today.

Get Started