README.md
This project contains a golang implementation of Swagger 2.0 (aka OpenAPI 2.0). It provide tools to work with swagger specifications.
Swagger is a simple yet powerful representation of your RESTful API.
2026-05-28 : v0.34.0 ships!
go-swagger/examples, with a CI to automate code regenerationcodescan`` (the part that underpins swagger generate spec) has moved as a standalone library go-openapi/codescan`. This library has been heavily refactored to prepare more
significant improvements. The current version gets a few quirks already fixed.diff (the implement of swagger diff) has joined go-openapi/analysisgenerator has been refactored to expose internal utilities (template repo, funcmaps, etc)
as packages.go-openapi/runtime v0.32.x benefits from many bug fixes and here too a
rechunking of the code.go-openapi/swag v0.26+ and directly imports all sub-modules.2026-03-16 : v0.33.2 is out
go1.25.sig artifacts.go-swagger instead of swaggermailru/easyjson: not longer imported by default. See https://github.com/go-openapi/swag?tab=readme-ov-file#dependencies
to enact mailru/easyjson explicitly.2026-03-16 : new community chat on discord
You may join the discord community by clicking the invite link on the discord badge (also above). .
go-swagger brings to the go community a complete suite of fully-featured, high-performance, API components to work with a Swagger API: server, client and data model.
Our focus with code generation is to produce idiomatic, fast go code, which plays nice with golint, go vet etc.
This project supports OpenAPI 2.0. At this moment it does not support OpenAPI 3.x.
go-swagger is now feature complete and has stabilized its API.
Most features and building blocks are now in a stable state, with a rich set of CI tests.
The go-openapi community actively continues bringing fixes and enhancements to this code base.
There is still much room for improvement: contributors and PR's are welcome. You may also get in touch with maintainers on our slack channel.
go install github.com/go-swagger/go-swagger/cmd/swagger@latest
go-swagger is also available as binary or docker releases as well as from source: more details.
Try go-swagger in a free online workspace using Gitpod:
The toolkit itself is licensed under an Apache Software License 2.0: SPDX-License-Identifier: Apache-2.0.
Just like swagger, this does not cover code generated by the toolkit. That code is entirely yours to license however you see fit.