Kotlin Formatter

Beautify and reformat Kotlin source code with consistent indentation and style.

Indent:
Max line:
Lines: 25 30·Chars: 592 716
Input
Output
data class User(val id: Int, val name: String, val email: String)
class UserRepository{
    private val users = mutableListOf<User>()

    fun addUser(user: User){
        users.add(user)
    }

    fun findById(id: Int): User?{
        return users.find{it.id==id}
    }

    fun getAllUsers(): List<User>{
        return users.toList()
    }

    fun removeUser(id: Int): Boolean{
        return users.removeIf{it.id==id}
    }
}

fun main(){
    val repo = UserRepository()
    repo.addUser(User(1, "Alice", "[email protected]"))
    repo.addUser(User(2, "Bob", "[email protected]"))
    val user = repo.findById(1)
    println("Found: ${user?.name}")
    val all = repo.getAllUsers()
    all.forEach{println(it)}
}

Why consistent Kotlin formatting matters for Android and Multiplatform projects

Inconsistent indentation in Kotlin code is more than an aesthetic problem. Android Studio's built-in inspections and KtLint rules flag formatting violations, and merge conflicts in version-controlled Kotlin files are far worse when different team members use different indent sizes or inconsistent spacing around operators. Establishing a consistent style from the start: and enforcing it with automated formatting: is one of the simplest ways to keep a Kotlin codebase maintainable.

This browser formatter is particularly useful for cleaning up code in documentation, blog posts, Stack Overflow answers, or pull request comments where you cannot run IntelliJ's formatter. Paste, format, copy: the whole workflow takes seconds.

How to format Kotlin code: step by step

  1. 1
    Paste your Kotlin code
    Copy your Kotlin source code and paste it into the left input panel. The formatter accepts any Kotlin code: data classes, functions, objects, interfaces, and expressions.
  2. 2
    Choose indent size
    Select 2 or 4 spaces. The Kotlin coding conventions recommend 4 spaces for indentation, which is also the IntelliJ IDEA default.
  3. 3
    Toggle formatting options
    Enable trailing commas to add commas after the last parameter in multi-line lists (Kotlin 1.4+ style). Enable blank line before fun to separate function declarations with an empty line for readability.
  4. 4
    Optionally minify the code
    Toggle Minify to collapse the code to a single line with comments removed: useful for embedding snippets or reducing transmitted payload size.
  5. 5
    Copy or download the output
    Click Copy to grab the formatted code to your clipboard, or click Download .kt to save it as a Kotlin source file.

Related Tools

Frequently Asked Questions

Does this follow the official Kotlin coding conventions?
The formatter applies the main structural rules from the Kotlin coding conventions: 4-space indentation, spaces around operators and after commas, and optional blank lines between function declarations. It is not a full KtLint or Detekt implementation but handles most common cases.
What is the recommended indentation for Kotlin?
The official Kotlin coding conventions specify 4 spaces for indentation (not tabs). IntelliJ IDEA and Android Studio default to this setting. The 2-space option is available for teams that prefer a more compact style.
What are trailing commas in Kotlin?
Trailing commas (introduced in Kotlin 1.4) allow a comma after the last element in multi-line function parameters, argument lists, destructuring declarations, and more. They make diffs cleaner when adding new parameters and are recommended by JetBrains for Kotlin 1.4+ projects.
Can I format Kotlin data classes?
Yes. Data class definitions with multiple constructor parameters benefit most from the formatter: each parameter gets proper indentation and optional trailing comma.
Does the minifier remove comments?
Yes. The minifier removes single-line (//) and multi-line (/* */) comments, then collapses whitespace to a single space. This is suitable for code snippets but not for production source files where comments convey intent.
Does this support Kotlin Multiplatform and coroutines syntax?
The formatter handles standard Kotlin syntax including suspend functions and expect/actual declarations. It operates on the textual structure (braces, indentation) and does not semantically parse the language, so all valid Kotlin syntax is preserved.
Is this a substitute for KtLint or Detekt?
For production use, KtLint (formatter) or Detekt (linter) integrated into your build pipeline are the professional standard. This browser tool is ideal for quick formatting of snippets, documentation examples, or code you are reviewing.
Is this tool free?
Completely free. No account, no install, and all formatting runs in your browser.

AlteredIdea vs alternatives

vs other online tools: Everything runs in your browser: private, instant, no account needed.

vs desktop apps: No install required. Works on any device.

vs paid tools: Completely free, unlimited use.