Recommended Free Tools
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Choose your target first: use IntelliJ IDEA for general Kotlin/JVM work such as console, backend, Java-interoperability, or desktop projects. Use Android Studio for Android applications and Jetpack Compose. In either IDE, Kotlin support is already bundled, so most beginners do not need a separate Kotlin installation. You do need a suitable JDK, and a Gradle-based project is the most transferable starting point.
What each part of the setup does
- Kotlin is the language and compiler.
- The JDK provides the Java runtime, compiler tools, and libraries used by Kotlin/JVM builds. The JDK running your IDE can differ from the JDK used by your project or Gradle.
- An IDE provides editing, completion, refactoring, debugging, project templates, testing, and build integration.
- Gradle automates builds and manages dependencies. Android projects normally use it; a tiny Kotlin file can also run without it.
- The Android SDK is needed only for Android development and is managed through Android Studio.
- Git is recommended for version control but is not required to run your first program.
Kotlin is included with IntelliJ IDEA and Android Studio releases. A standalone kotlinc installation is optional for command-line work, scripts, or CI.
Pick the right IDE
| Goal | Best starting point | Why |
|---|---|---|
| Kotlin/JVM console, backend, desktop, or mixed Java/Kotlin | IntelliJ IDEA | Strong Kotlin and Java tooling with Gradle integration. |
| Android apps or Jetpack Compose | Android Studio | Includes Android templates, SDK management, emulator, device tools, and Compose support. |
| Automation or a minimal machine | Standalone compiler or Gradle | Scriptable, but without a full debugger or project wizard. |
| Lightweight editing | Visual Studio Code | Possible, but Kotlin’s official VS Code extension is Alpha and other plugins may be community-supported. |
Android Studio is based on IntelliJ IDEA, but it is a separate product optimized for Android. Installing it for a simple console exercise adds SDK and emulator complexity you do not need.
Install IntelliJ IDEA for general Kotlin
- Download IntelliJ IDEA from JetBrains and install the package for Windows, macOS, or Linux.
- Start the IDE. On the welcome screen choose New Project, or use File > New > Project. Labels can vary slightly by release.
- Select Kotlin, enter a project name and location, and choose Gradle as the build system for a realistic, reproducible project.
- Choose Kotlin as the Gradle build-script language. This creates
build.gradle.kts; the alternative Groovy DSL createsbuild.gradle. - For the JDK, select an installed JDK, choose Add JDK, or use Download JDK in the wizard. If you have no organization-specific requirement, JetBrains documents Oracle OpenJDK as an available choice; no vendor is universally best.
- Enable sample code if the wizard offers it. You may also select Create Git repository.
- Click Create and wait for Gradle synchronization to finish before editing files.
IntelliJ’s Kotlin support and project wizard are documented in the Kotlin getting-started guide and Kotlin’s JVM/Gradle tutorial.
#1 Best Overall
Write and run your first program
Open the generated Kotlin source file, or create src/main/kotlin/Main.kt, and enter:
fun main() {
println("Hello, Kotlin!")
}
main is the program entry point. println writes a line to standard output. Click the green run icon beside main (or the Run button in the toolbar). The Run window should show:
Hello, Kotlin!
If no run action appears, make sure the file is inside a Kotlin source set and that Gradle sync has completed. A project can compile with Gradle even when the IDE’s run configuration has not yet been created.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
Understand the Gradle files and wrapper
settings.gradle.ktsidentifies the project and included modules.build.gradle.ktsdeclares plugins, repositories, dependencies, and tasks.gradlewandgradlew.batare the Gradle wrapper scripts. They select the project’s recorded Gradle distribution and can download it when needed.
Prefer the wrapper over a globally installed Gradle version so every contributor and build server uses the project’s intended version. From macOS or Linux:
./gradlew build
./gradlew test
./gradlew run
On Windows PowerShell:
gradlew.bat build
gradlew.bat test
gradlew.bat run
The run task exists only when the project applies and configures an application plugin with a main class. build and test are not guaranteed to have identical task names in every project, so inspect the project’s tasks when in doubt.
Verify the environment from a terminal
These checks distinguish a working IDE from a working shell:
Rank #3
java -version
javac -version
From the project directory, use:
# macOS/Linux
./gradlew --version
# Windows
gradlew.bat --version
The reported Java version should satisfy the project’s Kotlin, Gradle, framework, or Android Gradle Plugin requirements. Do not choose a universal Java version from an old tutorial.
Optional: use the standalone Kotlin compiler
This route is useful for scripts, CI, or users deliberately avoiding an IDE. Download the compiler ZIP from the official command-line documentation (which links to current releases), extract it, and optionally add its kotlinc/bin directory to PATH. Open a new terminal and verify:
kotlinc -version
Create hello.kt:
fun main() {
println("Hello, World!")
}
Compile and run it:
kotlinc hello.kt -include-runtime -d hello.jar
java -jar hello.jar
-include-runtime places the Kotlin runtime in the runnable JAR. Without it, the output is generally a library artifact that requires the runtime on the classpath.
Official package-manager alternatives include:
sdk install kotlin
brew update
brew install kotlin
sudo snap install --classic kotlin
SDKMAN! targets Unix-like systems and compatible shells, Homebrew is primarily a macOS path, and Snap requires a Snap-enabled Linux distribution. Windows beginners will usually have an easier time with an IDE or the manual ZIP installation.
Set up Android Studio instead for Android apps
- Download Android Studio from the official Android Developers site. Current packages support Windows, macOS, Linux, and ChromeOS; check the page for release-specific hardware and storage requirements.
- Install it and allow the setup wizard to install or configure Android SDK components.
- Create a new project and select a Kotlin-based template. Choose minimum and target SDK values appropriate to your app.
- Create or select an emulator, or connect a physical device with developer options and USB debugging enabled.
- Wait for Gradle sync, then run the app on the emulator or device. Use the Build window and Logcat to investigate failures.
Android projects add Android-only variables: SDK licenses, emulator virtualization and acceleration, device drivers, Android Gradle Plugin compatibility, and often substantial disk usage. Keep those concerns separate from a general Kotlin/JVM setup. For an existing Android project containing Kotlin files, Android Studio can offer a workflow to configure Kotlin for the relevant modules; that is different from creating a new project.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Troubleshooting by symptom
“No JVM installation found” or Gradle cannot start
- In a terminal run
java -versionandjavac -version; a JRE alone is insufficient for many builds. - Check the project SDK and the IDE’s Gradle JVM setting.
- Inspect
org.gradle.java.homeingradle.properties. IntelliJ checks that property when present; otherwise its Gradle settings may use the project SDK. - Remove paths pointing to a deleted JDK, restart the IDE, and sync again.
kotlinc is not recognized
The compiler may be installed but absent from PATH. Add the extracted kotlinc/bin directory, open a new terminal, and rerun kotlinc -version. An IDE may still work because it uses bundled tooling even when your shell cannot find kotlinc.
Best Value
Gradle sync fails
Common causes include offline mode, blocked repositories or proxies, a wrong Gradle JVM, a corrupted cache, or incompatible Kotlin, Gradle, Java, and plugin versions. First run:
./gradlew --version
./gradlew tasks
./gradlew build --stacktrace
Use gradlew.bat instead on Windows. Confirm the wrapper exists, disable offline mode, and read the first meaningful error rather than the final cascade. Do not randomly replace the wrapper version or delete every cache as a first response.
“Unsupported Java/Kotlin version”
The IDE’s bundled Kotlin plugin and the project’s Gradle Kotlin plugin are related but not identical. Versions interact with Gradle, the JDK, Android Gradle Plugin, compiler plugins, and frameworks. Keep the versions declared by the project or framework documentation instead of changing one number to match an old tutorial.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteAndroid SDK, emulator, or device errors
Check accepted SDK licenses, available disk space, virtualization/acceleration support, emulator images, USB debugging, and device drivers. Android Studio’s configured JDK can differ from the JDK reported by your terminal.
Keep the installation current
Do not hard-code a Kotlin version from an old guide. JetBrains announced Kotlin 2.4.0 in June 2026, while the accessed command-line documentation listed a compiler ZIP with a different artifact number. Those references are not interchangeable; check the current Kotlin release announcement, command-line page, IntelliJ IDEA, or Android Studio documentation when starting a new project. The project’s declared versions remain authoritative for that project.
What to learn next
After the setup works, continue with Kotlin functions, null safety, classes, collections, and coroutines. Add unit tests and learn basic Gradle concepts. Then follow the path you chose: Android and Compose, backend/desktop JVM development, or Kotlin Multiplatform with the platform requirements of its template.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

