
Chi
Lightweight composable Go HTTP router
The Lens
No framework magic, no custom context objects, no lock-in. Your handlers are regular `http.HandlerFunc`; Chi just routes requests to them and gives you middleware chaining.
Go, MIT. The middleware system is Chi's best feature: compose authentication, logging, rate limiting, CORS, and compression as a stack. The built-in middleware collection covers the common cases. Route groups let you apply different middleware to different URL prefixes.
Fully free. No paid tier, no hosted version. It's a Go package: `go get github.com/go-chi/chi`. Solo to large teams: free. Chi is what you use when you want the thinnest possible layer between your code and Go's HTTP server. It adds routing and middleware composition, nothing more.
The catch: Chi does routing. That's it. No ORM, no template engine, no config management, no migration tools. If you're coming from Express.js, Django, or Rails and expect a full framework, Chi isn't one. You'll assemble everything else yourself, which is the Go way, but it means more decisions upfront. And if you're comparing HTTP routers specifically, Go 1.22+'s standard library mux now supports method-based routing and path parameters, narrowing Chi's advantage for simple APIs.
Free vs Self-Hosted vs Paid
fully freeFully open source under MIT. A Go package, no hosted version, no paid tier, nothing to pay for. Zero cost.
Free. It's a Go library. No commercial offering exists.
Similar Tools
About
- Stars
- 21,910
- Forks
- 1,087
Explore Further
More tools in the directory
Get tools like this delivered weekly
The Open Source Drop — the best new open source tools, analyzed. Free.



