#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
Stars, last 29 weeks+1,265
21 Apr 2026: 21,829 stars28 Apr 2026: 21,872 stars5 May 2026: 21,913 stars12 May 2026: 21,965 stars19 May 2026: 22,025 stars26 May 2026: 22,082 stars2 Jun 2026: 22,130 stars9 Jun 2026: 22,192 stars16 Jun 2026: 22,240 stars23 Jun 2026: 22,282 stars30 Jun 2026: 22,338 stars7 Jul 2026: 22,384 stars14 Jul 2026: 22,425 stars21 Jul 2026: 22,458 stars28 Jul 2026: 22,497 stars4 Aug 2026: 22,527 stars11 Aug 2026: 22,566 stars18 Aug 2026: 22,608 stars25 Aug 2026: 22,650 stars1 Sept 2026: 22,691 stars8 Sept 2026: 22,726 stars15 Sept 2026: 22,775 stars22 Sept 2026: 22,822 stars29 Sept 2026: 22,853 stars6 Oct 2026: 22,885 stars13 Oct 2026: 22,920 stars20 Oct 2026: 22,954 stars27 Oct 2026: 23,008 stars3 Nov 2026: 23,045 stars10 Nov 2026: 23,094 stars

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
Also in Backend and cloud templates
RankProjectScore
1fastapiPython web framework for typed REST APIs with automatic OpenAPI docs104.6k starsMIT90 out of 100
2fiberExpress-style HTTP web framework for Go, built on fasthttp40.3k stars+130 (+0.3%) in 30 daysMIT90 out of 100
3generator-jhipsterCode generator for Java apps with Angular, React or Vue frontends22.5k starsApache-2.090 out of 100
#4serverlessCLI that deploys AWS Lambda code and infrastructure from serverless.yml46.9k starscustom license88 out of 100
#5echoMinimalist Go web framework with a radix-tree router and middleware32.8k stars+73 (+0.2%) in 30 daysMIT86 out of 100