Kotlin

Kotlin
ParadigmsMulti-paradigm: object-oriented, functional, imperative, block structured, generic, reflective, concurrent
Designed byJetBrains
DeveloperJetBrains
First appeared22 July 2011 (2011-07-22)
Stable release
2.3.0  / 16 December 2025 (16 December 2025)
Typing disciplineInferred, static, strong
Platform
OSCross-platform
LicenseApache 2.0
Filename extensions.kt, .kts, .kexe, .klib
Websitekotlinlang.org
Influenced by
Influenced
V (Vlang)

Kotlin (/ˈkɒtlɪn/) is a cross-platform, statically typed, general-purpose high-level programming language with type inference. Kotlin is designed to interoperate fully with Java, and the Java virtual machine (JVM) version of Kotlin's standard library depends on the Java Class Library. However, type inference allows for more concise syntax. Kotlin mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React) or native code via LLVM (e.g., for native iOS apps sharing business logic with Android apps). JetBrains bears language development costs, while the Kotlin Foundation protects the Kotlin trademark.

On 7 May 2019, Google announced Kotlin had become its preferred language for Android app developers. Since the release of Android Studio 3.0 in October 2017, Kotlin has been included as an alternative to the standard Java compiler. The Android Kotlin compiler emits Java 8 bytecode by default (which runs in any later JVM), but allows targeting Java 9 up to 24, for optimizing, or allows for more features; it has bidirectional record class interoperability support for JVM, introduced in Java 16, considered stable as of Kotlin 1.5.

Kotlin has support for the web with Kotlin/JS, through an intermediate representation-based backend that has been declared stable since version 1.8, released in December 2022. Kotlin/Native (e.g., Apple silicon support) has been declared stable since version 1.9.20, released in November 2023.