High performance, minimalist Go web framework
32,698
stars
1,795
commits
Go
primary language
Sep 2, 2026
updated
High performance, extensible, minimalist Go web framework.
Echo is built on Go's standard net/http — and interoperates with it via echo.WrapHandler / echo.WrapMiddleware — adding the parts the standard library leaves to you: a fast radix-tree router, request binding (with a pluggable validator), a deep middleware ecosystem, and centralized error handling. Actively maintained, with v5 as the current release line (see badges above for the latest version and most recent commit).
Help and questions: Github Discussions
Click here for more information on sponsorship.
v5 as of 2026-01-18.
v4 and v5, notes on upgrading.v4 is supported with security* updates and bug fixes until 2026-12-31See ROADMAP.md for where Echo is heading and the version support policy.
// go get github.com/labstack/echo/{version}
go get github.com/labstack/echo/v5
Latest version of Echo supports last four Go major releases and might work with older versions.
package main
import (
"github.com/labstack/echo/v5"
"github.com/labstack/echo/v5/middleware"
"log/slog"
"net/http"
)
func main() {
// Echo instance
e := echo.New()
// Middleware
e.Use(middleware.RequestLogger()) // use the RequestLogger middleware with slog logger
e.Use(middleware.Recover()) // recover panics as errors for proper error handling
// Routes
e.GET("/", hello)
// Start server
if err := e.Start(":8080"); err != nil {
slog.Error("failed to start server", "error", err)
}
}
// Handler
func hello(c *echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}
Following list of middleware is maintained by Echo team.
| Repository | Description |
|---|---|
| github.com/labstack/echo-jwt | JWT middleware |
| github.com/labstack/echo-contrib | casbin, gorilla/sessions, pprof) middlewares |
| github.com/labstack/echo-opentelemetry | OpenTelemetry middleware for tracing and metrics |
| github.com/labstack/echo-prometheus | Prometheus middleware for Echo |
Be careful when adding 3rd party middleware. Echo teams does not have time or manpower to guarantee safety and quality of middlewares in this list.
| Repository | Description |
|---|---|
| oapi-codegen/oapi-codegen | Automatically generate RESTful API documentation with OpenAPI Client and Server Code Generator |
| github.com/swaggo/echo-swagger | Automatically generate RESTful API documentation with Swagger 2.0. |
| github.com/ziflex/lecho | Zerolog logging library wrapper for Echo logger interface. |
| github.com/brpaz/echozap | Uber´s Zap logging library wrapper for Echo logger interface. |
| github.com/samber/slog-echo | Go slog logging library wrapper for Echo logger interface. |
| github.com/darkweak/souin/plugins/echo | HTTP cache system based on Souin to automatically get your endpoints cached. It supports some distributed and non-distributed storage systems depending your needs. |
| github.com/mikestefanello/pagoda | Rapid, easy full-stack web development starter kit built with Echo. |
| github.com/go-woo/protoc-gen-echo | ProtoBuf generate Echo server side code |
Please send a PR to add your own library here.
Use issues for everything
Go
99.9%
High performance, minimalist Go web framework
32,698
stars
1,795
commits
Go
primary language
Sep 2, 2026
updated
High performance, extensible, minimalist Go web framework.
Echo is built on Go's standard net/http — and interoperates with it via echo.WrapHandler / echo.WrapMiddleware — adding the parts the standard library leaves to you: a fast radix-tree router, request binding (with a pluggable validator), a deep middleware ecosystem, and centralized error handling. Actively maintained, with v5 as the current release line (see badges above for the latest version and most recent commit).
Help and questions: Github Discussions
Click here for more information on sponsorship.
v5 as of 2026-01-18.
v4 and v5, notes on upgrading.v4 is supported with security* updates and bug fixes until 2026-12-31See ROADMAP.md for where Echo is heading and the version support policy.
// go get github.com/labstack/echo/{version}
go get github.com/labstack/echo/v5
Latest version of Echo supports last four Go major releases and might work with older versions.
package main
import (
"github.com/labstack/echo/v5"
"github.com/labstack/echo/v5/middleware"
"log/slog"
"net/http"
)
func main() {
// Echo instance
e := echo.New()
// Middleware
e.Use(middleware.RequestLogger()) // use the RequestLogger middleware with slog logger
e.Use(middleware.Recover()) // recover panics as errors for proper error handling
// Routes
e.GET("/", hello)
// Start server
if err := e.Start(":8080"); err != nil {
slog.Error("failed to start server", "error", err)
}
}
// Handler
func hello(c *echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
}
Following list of middleware is maintained by Echo team.
| Repository | Description |
|---|---|
| github.com/labstack/echo-jwt | JWT middleware |
| github.com/labstack/echo-contrib | casbin, gorilla/sessions, pprof) middlewares |
| github.com/labstack/echo-opentelemetry | OpenTelemetry middleware for tracing and metrics |
| github.com/labstack/echo-prometheus | Prometheus middleware for Echo |
Be careful when adding 3rd party middleware. Echo teams does not have time or manpower to guarantee safety and quality of middlewares in this list.
| Repository | Description |
|---|---|
| oapi-codegen/oapi-codegen | Automatically generate RESTful API documentation with OpenAPI Client and Server Code Generator |
| github.com/swaggo/echo-swagger | Automatically generate RESTful API documentation with Swagger 2.0. |
| github.com/ziflex/lecho | Zerolog logging library wrapper for Echo logger interface. |
| github.com/brpaz/echozap | Uber´s Zap logging library wrapper for Echo logger interface. |
| github.com/samber/slog-echo | Go slog logging library wrapper for Echo logger interface. |
| github.com/darkweak/souin/plugins/echo | HTTP cache system based on Souin to automatically get your endpoints cached. It supports some distributed and non-distributed storage systems depending your needs. |
| github.com/mikestefanello/pagoda | Rapid, easy full-stack web development starter kit built with Echo. |
| github.com/go-woo/protoc-gen-echo | ProtoBuf generate Echo server side code |
Please send a PR to add your own library here.
Use issues for everything
Go
99.9%