A modern programming
language that makes
developers happier.

Developed by JetBrains  & Open-source Contributors

Get started Try online

Good for

Latest from Kotlin

Kotlin Early Access Preview

Try out the latest Kotlin features before they are released

Learn more

Try Kotlin

Simplest version
An Object-oriented Hello
More examples
                    fun main() {
                        println("Hello World")

Why Kotlin?

  • Concise

    Drastically reduce the amount of boilerplate code

     Create a POJO with getters, setters, `equals()`, `hashCode()`, `toString()` and `copy()` in a single line:
    data class Customer(val name: String, val email: String, val company: String)
    // Or filter a list using a lambda expression:
    val positiveNumbers = list.filter { it > 0 }
    // Want a singleton? Create an object:
    object ThisIsASingleton {
        val companyName: String = "JetBrains"
  • Safe

    Avoid entire classes of errors such as null pointer exceptions

     Get rid of those pesky NullPointerExceptions, you know, The Billion Dollar Mistake
    var output: String
    output = null   // Compilation error
    // Kotlin protects you from mistakenly operating on nullable types
    val name: String? = null    // Nullable type
    println(name.length())      // Compilation error
    // And if you check a type is right, the compiler will auto-cast it for you
    fun calculateTotal(obj: Any) {
        if (obj is Invoice)
  • Interoperable

    Leverage existing libraries for the JVM, Android, and the browser

     Use any existing library on the JVM, as there’s 100% compatibility, including SAM support.
    import io.reactivex.Flowable
    import io.reactivex.schedulers.Schedulers
        .fromCallable {
            Thread.sleep(1000) //  imitate expensive computation
        .subscribe(::println, Throwable::printStackTrace)
    // Target either the JVM or JavaScript. Write code in Kotlin and decide where you want to deploy to
    import kotlin.browser.window
    fun onLoad() {
        window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
  • Tool-friendly

    Choose any Java IDE or build from the command line

    • Android Studio

      Bundled with Android Studio

    • Eclipse

      Install the plugin from the Eclipse Marketplace

    • Standalone Compiler

      Use any editor and build from the command line

Kotlin Usage Highlights

Start Using Kotlin Today!

Build your first Kotlin app in your
favorite IDE

Get started