A high-performance HTTP web framework for Go, designed for building REST APIs, web applications, and microservices.
Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices where speed and developer productivity are essential.
Go developers building high-throughput REST APIs, microservices, or web applications that require fast response times and efficient resource usage.
Developers choose Gin for its exceptional performance, minimal memory footprint, and developer-friendly API that simplifies building robust web services without sacrificing speed.
Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses httprouter for memory-efficient routing with no heap allocations, evidenced by benchmarks showing 0 B/op and 0 allocs/op.
Benchmarks demonstrate it handles 43550 repetitions with low latency, outperforming many Go frameworks like Echo and Gorilla Mux.
Official gin-contrib collection provides ready-made middleware for authentication, logging, and CORS, speeding up development.
Default recovery middleware prevents server crashes from panics, ensuring stability in production deployments.
Automatic binding and validation of request/response JSON simplifies API development with minimal boilerplate code.
Lacks integrated database ORM or advanced tooling, requiring additional libraries for common tasks like database interactions.
While the middleware ecosystem is large, quality can vary, and some plugins may be poorly maintained or documented.
Tied to the Go ecosystem, making it unsuitable for polyglot projects or teams not invested in Go's tooling and conventions.