Develop Android apps with Kotlin
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.
Expressive and concise
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.
Learning Android & Kotlin from scratch
View our guides, resources, and training material for beginners.
Kotlin for Android Java developers
If you already know Java, our interop guides and documentation can help you get started.
Advanced Kotlin guides
If you’re already familiar with Kotlin, read our advanced documentation to increase your skills.
Bringing Kotlin to your team
Learn how writing in Kotlin can boost your team’s productivity, improve app quality, and increase developer satisfaction.
Kotlin Bootcamp for programmers
In the Kotlin Bootcamp for programmers course, you learn the basics of Kotlin as you create various small programs in IntelliJ IDEA.
Android Kotlin fundamentals
After taking the Bootcamp, this course will show you Android Kotlin programming concepts and how to build a variety of apps.
Advanced Android in Kotlin
Go beyond the basics. This course teaches you how to add a range of advanced features to your Android App in Kotlin.
Advanced Coroutines with Kotlin Flow and LiveData
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?
Apps built with Kotlin
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.
Zomato uses Kotlin to write safer, more concise code
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 open source
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.
Get certified in Kotlin!
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.
Android codelabs in Kotlin
Learn the latest best practices and APIs with Android codelabs in Kotlin.
Android Basics in Kotlin course
For those with no programming experience, learn the basics of the Kotlin programming language and how to build simple Android apps.