List of Artifacts

Estimated reading time: 3 minutes

Ktor is divided into modules to allow fine-grained inclusion of dependencies based on the functionality required. The typical Ktor application would require ktor-server-core and a corresponding engine depending on whether it’s self-hosted or using an Application Server.

All artifacts in Ktor belong to io.ktor group and hosted on JCenter and Maven Central. Pre-release versions are published at Bintray


Ktor is split into several groups of modules:

  • ktor-server contains modules that support running the Ktor Application with different engines: Netty, Jetty, Tomcat, and a generic servlet. It also contains a TestEngine for setting up application tests without starting the real server
    • ktor-server-core is a core package where most of the application API and implementation is located
    • ktor-server-jetty supports a deployed or embedded Jetty instance
    • ktor-server-netty supports Netty in embedded mode
    • ktor-server-tomcat supports Tomcat servers
    • ktor-server-servlet is used by Jetty and Tomcat and allows running in a generic servlet container
    • ktor-server-test-host allows running application tests faster without starting the full host
  • ktor-features groups modules for features that are optional and may not be required by every application
  • ktor-client contains modules for performing http requests
    • ktor-client-core is a core package where most of the http HttpClient API is located
    • ktor-client-apache adds support for the Apache asynchronous HttpClient
    • ktor-client-cio adds support for a pure Kotlin Corutine based I/O asynchronous HttpClient
    • ktor-client-jetty adds support for Jetty HTTP client
    • ktor-client-okhttp adds support for OkHttp client backend.
    • ktor-client-auth-basic adds support for authentication
    • ktor-client-json adds support for json content negotiation
  • ktor-network includes raw sockets for client/server, and TCP/UDP
    • ktor-network-tls contains TLS support for raw sockets

See instructions for setting up a project with