Skip to content

Welcome to Ktlint

Join the chat at https://kotlinlang.slack.com Build status Maven Central ktlint

Kotlin linter in spirit of feross/standard (JavaScript) and gofmt (Go).

Features

  • No configuration required
    ktlint aims to capture the official Kotlin coding conventions and Android Kotlin Style Guide. In some aspects ktlint is a bit more strict*.
  • Rule sets
    ktlint offers a standard and an experimental rule set. Next to this, it is easy to provide custom rule sets.
  • .editorconfig
    Some rules do allow further configuration, but in all cases a reasonable default is set when not provided. ktlint primarily uses the .editorconfig file to read default .editorconfig, IntelliJ IDEA specific and Ktlint specific properties.
  • Disable rules
    If need be, rules can be disabled easily*.
  • Built-in formatter
    Most lint violations don't need to be fixed manually. ktlint has a built-in formatter which fixes violations when possible. Some violations can not be fixed in a deterministic way, and need manual action.
  • Customizable output
    Several reporters are available out-of-the-box: plain (+ plain?group_by_file), plain-summary, json, html and checkstyle. It's also easy to create a custom reporter.
  • Executable jar
    ktlint is released as a single executable jar with all dependencies included.

This project is not affiliated with nor endorsed by JetBrains.
All code, unless specified otherwise, is licensed under the MIT license.
Copyright © 2019 Pinterest, Inc.
Copyright © 2016-2019 Stanley Shyiko.