On this page
Overview
kotlinx.coroutines is the official library for expressing asynchronous and concurrent work in structured Kotlin code. It provides lightweight coroutines, cancellable Job and Deferred values, asynchronous streams through Flow, and communication and synchronization primitives such as Channel. Its multiplatform modules cover JVM, JS, Wasm/JS, and Native targets.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose lifetimes, cancellation, and data flows through shared APIs
launch and async start work, while coroutineScope and supervisorScope define child lifetimes and failure propagation. Flow supplies cold asynchronous streams with operators such as map and filter; Channel, Mutex, and Semaphore cover communication and synchronization. Separate modules add runTest and TestScope for testing and DebugProbes for inspecting active coroutines.
Sources: [1]
Best fit
Fits latency-bound work and continuously changing application state
The library fits applications coordinating network or file I/O, UI state updates, or groups of asynchronous tasks that should cancel as one operation. It also suits projects bridging Reactive Streams, RxJava, Reactor, CompletableFuture, and similar APIs to Kotlin suspend functions or Flow.
Sources: [1]
Before adoption
Review target dispatchers and compatibility changes for each release
Main dispatchers require matching runtime artifacts for environments such as Android, Swing, and JavaFX. Stable version 1.11.0 accompanies Kotlin 2.2.20 and includes Promise API moves for JS and Wasm/JS, changed exception reporting, and progressed deprecations. Upgrades should be checked against the changelog, and callers must still design scope ownership, cancellation, and exception handling explicitly. The project is Apache-2.0 licensed.
Official sources
- [1]Kotlin/kotlinx.coroutines — README 1.11.0(2026-10-04)
- [2]Kotlin/kotlinx.coroutines — CHANGELOG 1.11.0(2026-10-04)
- [3]kotlinx.coroutines 1.11.0 release(2026-10-04)
- [4]Kotlin/kotlinx.coroutines — LICENSE(2026-10-04)
Supplemental curator note
The key value is not merely replacing callbacks, but designing asynchronous work as cancellable, structured hierarchies. Before adoption, review dispatchers, exception propagation, and the library's Kotlin-version pairing for each target.
Try it in 3 steps
- 1
Add the dependency
In an existing Kotlin/JVM Gradle project using Kotlin 2.2.20, add this to dependencies and ensure mavenCentral() is configured.
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0") - 2
Import the coroutine APIs
Place the import at the top of the Kotlin file containing the minimal example.
import kotlinx.coroutines.* - 3
Run a child coroutine
Run the program and observe that the parent scope waits for its child before completion.
suspend fun main() = coroutineScope { launch { delay(1000); println("Kotlin Coroutines World!") } println("Hello") }
Growth
Growth trends · Last 30 days
13,818 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 2
- Open PRs
- 43
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- kotlin
- coroutines
- async
- Stars
- 13,818
- Forks
- 1,950
- Watchers
- 290
- Open issues
- 301
- Contributors
- 308
- Owner type
- Organization
- Primary language
- Kotlin
- License
- Apache-2.0
- Repository last updated
- Oct 2, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- gRPC45,361 Stars
2 shared tag(s)
define service contracts with Protocol Buffers and implement high-performance RPC over HTTP/2 across languages
C++ - HTTPie CLI38,647 Stars
2 shared tag(s)
compose API requests with syntax optimized for human-readable terminal work
Python - ASP.NET Core38,465 Stars
2 shared tag(s)
build web apps, HTTP APIs, and mobile backends on a modular cross-platform .NET web framework
C# - REST Assured7,140 Stars
2 shared tag(s)
test REST APIs from Java with a DSL for requests, status, headers, and JSON/XML assertions
Java - GraphQL Java6,220 Stars
2 shared tag(s)
implement the GraphQL specification on the JVM with composable schema, execution, and instrumentation APIs
Java - Node.js122,253 Stars
1 shared tag(s) · 2 shared category(s)
Run JavaScript for API servers, command-line tools, and development automation
JavaScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.