What is Kotlin?
Kotlin is a general-purpose, statically typed language designed to work hand in hand with Java. Kotlin and Java files can live in the same project and call each other directly, so teams can introduce Kotlin gradually into existing codebases. The language removes much of Java’s boilerplate through type inference, data classes, extension functions, default arguments and smart casts, and its type system distinguishes nullable from non-nullable references so that many null-pointer errors are caught by the compiler.
Kotlin compiles to several targets. On the JVM it produces standard bytecode for servers, desktop applications and Android; Kotlin/JS and Kotlin/Wasm target web browsers; and Kotlin/Native uses LLVM to build native binaries for iOS, macOS, Linux and Windows. Kotlin Multiplatform, declared stable in November 2023, lets one codebase share business logic across these platforms, and JetBrains’ Compose Multiplatform extends sharing to user interfaces, with iOS support declared stable in May 2025. Coroutines give the language a structured model for asynchronous and concurrent code.
Kotlin is used most heavily for Android apps and server-side code. Google has recommended Kotlin for Android since 2019, and JetBrains has said that about half of Kotlin users write back-end code, often with Spring Boot or JetBrains’ own Ktor framework; in 2025 JetBrains and the Spring team announced a partnership to improve Kotlin support across Spring. Kotlin 2.0, released in May 2024, introduced the rewritten K2 compiler, and in 2026 JetBrains released an alpha of an official Kotlin extension for Visual Studio Code, loosening the language’s ties to IntelliJ IDEA.
Key features of Kotlin
- 01
Null safety
The type system separates nullable and non-nullable types, and operators such as safe calls and the Elvis operator make missing values explicit, preventing many null-pointer exceptions at compile time.
- 02
Java interoperability
Kotlin calls Java libraries and frameworks directly and can be called from Java, so existing JVM tools, build systems and codebases keep working as teams adopt the language file by file.
- 03
Concise syntax
Type inference, data classes, extension functions, named and default arguments, and smart casts reduce the amount of code needed for common tasks compared with Java.
- 04
Coroutines
Coroutines let developers write asynchronous and concurrent code in a sequential style, with structured concurrency rules that tie background work to a scope so it can be canceled cleanly.
- 05
Kotlin Multiplatform
Shared modules compile for Android, iOS, desktop, web and server targets, letting teams reuse networking, storage and business logic while keeping platform-specific code where they need it.
- 06
Compose Multiplatform
JetBrains’ declarative UI framework, based on Google’s Jetpack Compose, lets developers share user interface code across Android, iOS, desktop and web applications.
- 07
K2 compiler
The compiler rewritten for Kotlin 2.0 uses a single architecture across all targets and, according to JetBrains, can compile code up to twice as fast as its predecessor.
- 08
Build and IDE tooling
Kotlin is supported in IntelliJ IDEA and Android Studio, works with Gradle and Maven, and can be used to write type-checked Gradle build scripts through the Kotlin DSL.
Who uses Kotlin?
- Android developers build apps in Kotlin following Google’s Kotlin-first guidance, typically pairing it with Jetpack Compose for user interfaces.
- Back-end teams write web services and APIs with Spring Boot or Ktor, running Kotlin alongside existing Java code on the JVM.
- Mobile teams use Kotlin Multiplatform to share business logic between Android and iOS apps while keeping native user interfaces or adopting Compose Multiplatform.
- Build engineers write Gradle build scripts in the Kotlin DSL to get type checking and IDE completion for build configuration.
History of Kotlin
JetBrains began work on Kotlin in 2010 and unveiled it publicly in July 2011. JetBrains lead Dmitry Jemerov explained that Scala was the only existing language with most of the features the team wanted, but it compiled too slowly, so matching Java’s compilation speed became a design goal. The language was named after Kotlin Island in the Gulf of Finland near Saint Petersburg, in the same spirit as Java, which takes its name from an Indonesian island.
JetBrains open-sourced Kotlin under the Apache 2 license in February 2012, and Andrey Breslav served as lead language designer until 2020. Kotlin 1.0 shipped on February 15, 2016, with a commitment to long-term backward compatibility. At Google I/O in May 2017, Google announced first-class Android support, and JetBrains and Google set up the Kotlin Foundation to protect the trademark and oversee incompatible changes. Google declared Android development Kotlin-first in May 2019, and Kotlin 2.0 followed in May 2024.
- 2011
JetBrains publicly unveils Kotlin in July after a year of internal development.
- 2012
Kotlin is open-sourced under the Apache 2 license.
- 2016
Kotlin 1.0 is released on February 15 with a long-term backward-compatibility commitment.
- 2017
Google announces first-class Kotlin support for Android at Google I/O.
- 2019
Google declares Android development Kotlin-first.
- 2023
Kotlin Multiplatform is declared stable with Kotlin 1.9.20.
- 2024
Kotlin 2.0 ships with the rewritten K2 compiler.
- 2025
Compose Multiplatform 1.8.0 declares Compose for iOS stable and production-ready.
Kotlin pricing
Pricing modelFree and open source
The compiler, standard library and official libraries are free and open source under the Apache 2.0 license; JetBrains bears most of the development costs.
Prices change often. Check the official Kotlin website for current plans.
Kotlin alternatives
Profiled on SoftwareLore:
Also considerScala, Swift, Dart and Groovy
Kotlin: frequently asked questions
Who created Kotlin?
Kotlin was created by JetBrains, the company behind IntelliJ IDEA, which started the project in 2010 and unveiled it in 2011. Andrey Breslav was its original lead designer. JetBrains still leads development, while the Kotlin Foundation, set up with Google, protects the trademark and oversees incompatible language changes.
What is Kotlin used for?
Kotlin is used mainly for Android apps, where Google has recommended it since 2019, and for server-side applications built with frameworks such as Spring Boot and Ktor. It is also used to share code between Android, iOS, desktop and web apps through Kotlin Multiplatform, and to write Gradle build scripts.
Is Kotlin free?
Yes. Kotlin is free and open source under the Apache 2.0 license, including its compiler and standard library. Developers can use it in commercial projects without paying, and it is fully supported in the free tier of IntelliJ IDEA and in Android Studio, which is also free.
When was Kotlin released?
JetBrains unveiled Kotlin in July 2011 and open-sourced it in February 2012. The first stable version, Kotlin 1.0, was released on February 15, 2016, and Kotlin 2.0, with the new K2 compiler, followed in May 2024.
What is the difference between Kotlin and Java?
Both run on the Java virtual machine and can be mixed in one project. Kotlin builds null safety into its type system, needs less boilerplate code, supports coroutines for asynchronous programming and can also compile to JavaScript, WebAssembly and native code. Java, stewarded by Oracle and the OpenJDK community, is older and has a larger installed base.
Why is it called Kotlin?
Kotlin is named after Kotlin Island, a small island in the Gulf of Finland near Saint Petersburg, Russia. The JetBrains team chose an island name as a nod to Java, which is named after the Indonesian island of Java.
Sources
- Kotlin FAQ, kotlinlang.org kotlinlang.org
- Kotlin Foundation kotlinfoundation.org
- Kotlin on Android. Now official, The JetBrains Blog blog.jetbrains.com
- Kotlin, Wikipedia en.wikipedia.org
Last reviewed . Spotted an error? Send a correction.