Multiplatform · Concise · Safe

A modern language
for the whole stack

Kotlin is a statically typed programming language that makes developers happier. Concise syntax, null safety, full Java interoperability, and first-class multiplatform support.

Get Started Install Kotlin
Null Safety
Concise Syntax
Multiplatform
Java Interop
Coroutines

Why Kotlin?

Designed for productivity, safety, and seamless interoperability across platforms.

Null Safety

Eliminate NullPointerExceptions at compile time. The type system distinguishes nullable and non-nullable types.

Concise

Less boilerplate. Data classes, type inference, extension functions, and smart casts keep your code short and readable.

Multiplatform

Share business logic across Android, iOS, web, desktop, and server with Kotlin Multiplatform.

Java Interop

Call Java from Kotlin and Kotlin from Java without friction. Use the entire Java ecosystem.

Coroutines

Lightweight concurrency with structured asynchronous programming. Write sequential-looking async code.

Tooling

First-class support in IntelliJ IDEA and Android Studio. Excellent Gradle integration and compiler plugins.

Hello, Kotlin

A taste of modern, expressive code.

Main.kt
// Data class with automatic equals, hashCode, toString
data class Person(val name: String, val age: Int)

fun main() {
    val people = listOf(
        Person("Ada", 36),
        Person("Grace", 45),
        Person("Alan", 41)
    )

    people
        .filter { it.age > 40 }
        .sortedBy { it.name }
        .forEach { println("${it.name} is ${it.age}") }
}

Where to go next