Skip to content

Gin Web Framework

The fastest full-featured web framework for Go. Crystal clear.

What is Gin?

Gin is a web framework written in Golang. It features a Martini-like API, but with performance up to 40 times faster than Martini. If you need performance and productivity, you will love Gin.

Fast

Radix tree based routing, small memory foot print. No reflection. Predictable API performance.

Middleware support

An incoming HTTP request can be handled by a chain of middleware and the final action. For example: Logger, Authorization, GZIP and finally post a message in the DB.

Crash-free

Gin can catch a panic occurred during a HTTP request and recover it. This way, your server will be always available. It’s also possible to report this panic to Sentry for example!

JSON validation

Gin can parse and validate the JSON of a request, checking, for example, the existence of required values.

Routes grouping

Organize your routes better. Authorization required vs non required, different API versions. In addition, groups can be nested infinitely without degrading performance.

Error management

Gin provides a convenient way to collect all the errors occurred during a HTTP request. Eventually, middleware can write them to a log file, to a database and send them through the network.

Rendering built-in

Gin provides an easy to use API for JSON, XML and HTML rendering.

Extendable

Creating new middleware is so easy, just check out the sample code.

How to use Gin?

We provide API usage examples and list some publicly known Gin users.

How to contribute to Gin?

  • Help people on the discussion forums
  • Tell us your success stories using Gin
  • Tell us how we can improve Gin and help us do it
  • Contribute to an existing library