labstack/echo
labstack/echo has 32,788 GitHub stars and 3,605 forks. GitHot measured +1 stars in 24 hours and +6 in 7 days. Last checked 2026-11-04 22:09 UTC. Last push 2026-10-30.
고성능의 미니멀한 Go 웹 프레임워크
What you can do
- Radix-tree router with static, parameter and wildcard routes; static routes match first
- Route groups, with middleware at the root, group or route level
- Data binding for JSON, XML, form, query and path parameters, with pluggable validation
- Helpers for JSON, XML, HTML, file, stream and other responses
측정된 스타 증가
- in 24h
- +1
- in 7 days
- +6
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalHigh performance, extensible, minimalist Go web framework.
Website · Quick start · Middleware · API reference · Discussions · Echo Pro · Commercial support
About
Echo is built on Go's standard net/http and interoperates with it through echo.WrapHandler and echo.WrapMiddleware. It adds the parts the standard library leaves to you: a fast radix-tree router, request binding with pluggable validation, official and third-party middleware, and centralized error handling. Echo is actively maintained, and v5 is the current release line.
How a request flows
- Pre middleware (
e.Pre) runs before routing, so it can rewrite the path or method. - The router matches the route.
- Middleware registered with
e.Use, a group or a route runs. - The handler writes the response.
- Any error returned by middleware or the handler goes to one
HTTPErrorHandler.
Features
- Radix-tree router with static, parameter and wildcard routes; static routes match first
- Route groups, with middleware at the root, group or route level
- Data binding for JSON, XML, form, query and path parameters, with pluggable validation
- Helpers for JSON, XML, HTML, file, stream and other responses
- Centralized error handling
- Structured request logging with
log/slog - Template rendering with any template engine
- TLS, HTTP/2, Let's Encrypt certificates through
autocert, and graceful shutdown
Echo Pro and support
Echo Pro is a separate commercial library from LabStack for Echo v5: API key and JWT authentication, tenant isolation, quotas with usage metering, audit records, signed webhooks and an admin console. Echo itself stays MIT, and Pro subscriptions fund its maintenance.
Echo Support is a paid annual plan for v4 and v5 applications, with a named contact and email support.
Used by
Echo runs in production across the Go ecosystem, including:
| Project | What runs on Echo |
|---|---|
| Bluesky indigo | AT Protocol Relay and network services |
| Temporal UI | Temporal Web UI server |
| NVIDIA Cloud Functions | LLM API gateway |
| Azure Container Networking | Container Networking Service REST API |
| osbuild-composer | Red Hat Image Builder cloud API |
| Docker Agent | Agent API, chat and A2A servers |
| YugabyteDB | yugabyted UI API server |
| PostHog | Livestream service |
| Bytebase | Backend server and API |
| Hatchet | API server |
| CasaOS | API server |
| Hanko | Authentication backend |
See ADOPTERS.md for the full list. Using Echo in an open source project? Add it.
Sponsors
| Sponsor | |
|---|---|
| Blacksmith: faster, drop-in GitHub Actions runners | |
| Encore: the platform for building Go-based cloud backends | |
| Gravity Carbon |
Echo is independent and community funded. If your company depends on Echo, please consider sponsoring it.
Getting started
Supported versions
v5is the current major version, released on 2026-01-18. See API_CHANGES_V5.md for the API changes fromv4and upgrade notes.v4receives bug fixes until 2026-12-31 and security fixes until 2027-12-31, on its latest release. See SECURITY.md.
Note: Echo v4 is in maintenance and gets no new features. Start new projects on v5, and plan v4 upgrades with API_CHANGES_V5.md.
See ROADMAP.md for where Echo is heading and the version support policy.
Installation
go get github.com/labstack/echo/v5
Echo v5 supports the three most recent Go releases and may work with older ones. Echo v4 requires Go 1.26 or later.
Example
package main
import (
"log/slog"
"net/http"
"github.com/labstack/echo/v5"
"github.com/labstack/echo/v5/middleware"
)
func main() {
e := echo.New()
e.Use(middleware.RequestLogger()) // log requests with log/slog
e.Use(middleware.Recover()) // recover from panics and return an error
e.GET("/", hello)
if err := e.Start(":8080"); err != nil {
slog.Error("failed to start server", "error", err)
}
}
func hello(c *echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}
Run it and send a request:
$ go run .
$ curl http://localhost:8080/
Hello, World!
e.Start shuts the server down gracefully on Ctrl+C.
More in the guide and the cookbook.
Middleware
Official
Maintained by the Echo team.
| Repository | Description |
|---|---|
| labstack/echo-jwt | JWT authentication |
| labstack/echo-contrib | Casbin, gorilla/sessions and pprof |
| labstack/echo-otel | OpenTelemetry tracing and metrics |
| labstack/echo-prometheus | Prometheus metrics |
Third-party
Third-party middleware list
These projects are maintained by their authors, not the Echo team. Review them before use, and check which Echo version (v4 or v5) each supports.
| Repository | Description |
|---|---|
| oapi-codegen/oapi-codegen | OpenAPI client and server code generator |
| swaggo/echo-swagger | Serves Swagger 2.0 API documentation |
| ziflex/lecho | Zerolog logger for Echo |
| brpaz/echozap | Uber Zap logging middleware |
| samber/slog-echo | log/slog logging middleware |
| darkweak/souin | HTTP cache middleware based on Souin, with distributed storage support |
| mikestefanello/pagoda | Full-stack web development starter kit built on Echo |
| go-woo/protoc-gen-echo | Generates Echo server code from Protocol Buffers |
To add your library, send a pull request.
Contributing
- For a small change, send a pull request.
- For a bigger change, open an issue to discuss it first.
- A pull request should include tests, documentation and, where it helps, an example.
Security
Important: Report vulnerabilities privately through GitHub Security Advisories, not in public issues. See SECURITY.md for supported versions.
Credits
- Vishal Rana (Author and Maintainer)
- Nitin Rana (Consultant)
- Martti T. (Maintainer Emeritus)
- Roland Lammel (Maintainer Emeritus)
- Pablo Andres Fuente (Maintainer Emeritus)
- Contributors
License
관련 프로젝트 살펴보기
freeCodeCamp/freeCodeCamp
freeCodeCamp.org의 오픈 소스 코드베이스와 커리큘럼입니다. 수학, 프로그래밍, 컴퓨터 과학을 무료로 배울 수 있습니다.
458,545 스타donnemartin/system-design-primer
대규모 시스템 설계 방법을 배우고 시스템 설계 면접을 준비할 수 있습니다. Anki 플래시카드가 포함되어 있습니다.
376,809 스타react/react
웹과 네이티브 사용자 인터페이스를 위한 라이브러리.
251,961 스타vuejs/vue
Vue 2 저장소입니다. Vue 3은 https://github.com/vuejs/core를 방문하세요.
212,490 스타