Write better Android apps faster with Kotlin. Kotlin is a modern statically typed programming language used by over 60% of professional Android developers that helps boost productivity, developer satisfaction, and code safety.
Kotlin's modern language features allow you to focus on expressing your ideas and write less boilerplate code.
With nullability included in its type system, Kotlin helps you avoid NullPointerExceptions. Android apps that use Kotlin are 20% less likely to crash.
Android's modern UI toolkit is built on Kotlin, allowing you to create UI quickly with powerful and intuitive APIs.
Kotlin coroutines streamline asynchronous programming, making common tasks like network calls and database updates simple and performant.

Getting started

getting started
View our guides for beginners, teaching you how to build Android apps with Kotlin and Jetpack Compose.
getting started
If you already know Java, our interop guides and documentation can help you get started.
getting started
If you’re already familiar with Kotlin, read our advanced documentation to increase your skills.
getting started
Learn how writing in Kotlin can boost your team’s productivity, improve app quality, and increase developer satisfaction.
In the Kotlin Bootcamp for programmers course, you learn the basics of Kotlin as you create various small programs in IntelliJ IDEA.
Learn how to use LiveData with Kotlin Coroutines and Flow.

Optimized for Kotlin

Kotlin is fully supported for Android development with tools and resources to help you succeed.
Android Studio provides first-class support for Kotlin. It even has built-in tools to help you convert Java-based code to Kotlin. The Show Kotlin Bytecode tool lets you to see the equivalent Java-based code as you learn Kotlin.
Android KTX makes Android development with Kotlin more concise, pleasant, and idiomatic by leveraging Kotlin language features.
Starting with Android 9 (API level 28), the Android SDK contains nullability annotations to help avoid NullPointerExceptions. API reference documentation is also available in Kotlin.
Explore a curated set of resources in various formats to help you jumpstart learning Kotlin.

What does Kotlin code look like?

Nullable and NonNull types help reduce NullPointerExceptions, lambdas can be used for concise event handling code, template expressions can be used in strings to avoid concatenation and semicolons are optional.
Many apps are already built with Kotlin—from the hottest startups to Fortune 500 companies. Learn how Kotlin has helped their teams become more productive and write higher quality apps.
Developer story

Kotlin helped Zomato reduce the number of lines of code in their app significantly, and it has also helped them find important defects in their app at compile time.

Watch Zomato's Rahul, Vice President, Product Management, and Prateek Sharma, Android developer, talk about how Zomato started adopting Kotlin and about how they now use it for all new feature releases.

Kotlin is an open source project available at no charge under the Apache 2.0 license. The code for the project is developed openly on GitHub primarily by the team employed at JetBrains, with contributions from Google and others. Our choice of Kotlin reaffirms our commitment to an open developer ecosystem as we evolve and grow the Android platform, and we are excited to see the language evolve.
Learn the latest best practices and APIs with Android codelabs in Kotlin.
Technical articles on Kotlin from the Android team.
For those with no programming experience, learn the basics of the Kotlin programming language and how to build simple Android apps.

Kotlin language documentation

Try using Kotlin now, right in your web browser.
Start learning Kotlin from the official language reference site.