On this page
Overview
http4k is a functional HTTP toolkit written in pure Kotlin. Its central HttpHandler model is an ordinary request-to-response function that can be mounted on servers, used with clients and serverless adapters, and called directly in tests.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose HTTP applications as ordinary Kotlin functions
Applications are represented as Request -> Response handlers, so they can be called directly in tests before being mounted on a server adapter.
Sources: [1]
Add servers, clients, serverless, and AI integrations as modules
Beyond the core HTTP model, the project offers server/client implementations, websockets, templating, serverless support, cloud clients, and AI integrations.
Sources: [1]
Best fit
Fits Kotlin backends that want a small framework surface and direct testability
It works well for services built around handler composition and immutable HTTP models where teams want to minimize container coupling.
Sources: [1]
Before adoption
Official sources
- [1]http4k README(2026-10-06)
- [2]http4k 6.61.0.0 release(2026-10-06)
Supplemental curator note
It fits Kotlin services that want small composable HTTP handlers and direct testing. From October 2026, Maven Central receives releases about quarterly while maven.http4k.org keeps the normal cadence.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/http4k/http4k.git - 2
Enter the repository
cd http4k - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
2,791 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 48
- Open PRs
- 1
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
GitHub Topics
- kotlin
- http-client
- typesafe
- testability
- tdd
- http-server
- http
- http4k
- immutability
- Stars
- 2,791
- Forks
- 282
- Watchers
- 24
- Open issues
- 45
- Contributors
- 167
- Owner type
- Organization
- Primary language
- Kotlin
- License
- Apache-2.0
- Repository last updated
- Oct 5, 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
- Upstash Rate Limit2,049 Stars
2 shared tag(s) · 2 shared category(s)
add HTTP-based distributed rate limiting to serverless, edge, and Next.js APIs
TypeScript - Apache HttpClient1,535 Stars
2 shared tag(s) · 2 shared category(s)
build Java HTTP/1.1 and HTTP/2 clients with connection management, authentication, cookies, and caching
Java - OkHttp47,086 Stars
2 shared tag(s) · 1 shared category(s) · Same language
centralize HTTP, TLS, connection reuse, caching, and DNS for Android/JVM applications
Kotlin - Ktor14,536 Stars
2 shared tag(s) · 1 shared category(s) · Same language
build HTTP servers and web APIs in Kotlin with coroutine-based I/O, routing DSLs, and composable plugins
Kotlin - kotlinx.coroutines13,820 Stars
2 shared tag(s) · 1 shared category(s) · Same language
Structure asynchronous and concurrent work in Kotlin with the official library
Kotlin - MockK5,762 Stars
2 shared tag(s) · 1 shared category(s) · Same language
mock, stub, and verify Kotlin collaborators with coroutine and Android support
Kotlin
Report incorrect information
Tell us if any listing information is incorrect or outdated.