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 @Nullable and @NonNull included in its type system, Kotlin helps you avoid NullPointerExceptions. Android apps that use Kotlin are 20% less likely to crash.
Kotlin is 100% interoperable with the Java programming language, so you can have as little or as much of Kotlin in your project as you want.
Kotlin coroutines streamline asynchronous programming, making common tasks like network calls and database updates simple and performant.

Featured
In the Kotlin Bootcamp for programmers course, you learn the basics of Kotlin as you create various small programs in IntelliJ IDEA.
Featured
After taking the Bootcamp, this course will show you Android Kotlin programming concepts and how to build a variety of apps.
Featured
Go beyond the basics. This course teaches you how to add a range of advanced features to your Android App in Kotlin.
Featured
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.

Featured
Kotlin is a free and open source project 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.
Ready to prove your proficiency with modern Kotlin development on Android to your coworkers, your LinkedIn network, or even your future employer? Earn your Associate Android Developer Certification using Kotlin.
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.