#1111th of 45 in Backend and cloud templates
chi
Composable HTTP router for Go REST services, built on net/http
- Stars
- 23.1k
- License
- MIT
- Last commit
- Nov 2026
- Last release
- Oct 2026
- Language
- Go
21,829 on 21 Apr 202623,094 on 10 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
chi is a Go router built on a Patricia radix trie, with a core under 1000 LOC and no dependencies beyond the standard library. It supports named and regexp URL params, route groups, sub-router mounting and inline middleware, all as plain net/http handlers. It also ships a middleware package (logger, recoverer, timeout, throttle, compress, client IP extraction) and a docgen tool for routing docs.
Who it is for: Go developers building REST APIs on net/http who want a small router
Strengths
- Standard net/http handlers and middleware, so any compatible package works unchanged
- No external dependencies; core router is under 1000 lines
- Route groups, Mount and inline With() keep large REST APIs modular
- Bundled middleware covers request IDs, timeouts, throttling, compression and client IP
Weaknesses
- Routing only: no ORM, validation or auth; render and docgen are separate packages
- Request-scoped values use context.WithValue with untyped keys and type assertions
- Legacy RealIP middleware is deprecated for spoofing; you must pick a ClientIPFrom* variant
- Not an AI project: no model or agent integration, so it is only a generic backend base
What it needs
- Go
Quick answers
Is chi open source?
Yes. Its code is on GitHub under the MIT license.
Also in Backend and cloud templates
See all 45| Rank | Project | Score |
|---|---|---|
| 1 | fastapiPython web framework for typed REST APIs with automatic OpenAPI docs | 90 out of 100 |
| 2 | fiberExpress-style HTTP web framework for Go, built on fasthttp | 90 out of 100 |
| 3 | generator-jhipsterCode generator for Java apps with Angular, React or Vue frontends | 90 out of 100 |
| #4 | serverlessCLI that deploys AWS Lambda code and infrastructure from serverless.yml | 88 out of 100 |
| #5 | echoMinimalist Go web framework with a radix-tree router and middleware | 86 out of 100 |