OpenAPI.Tools

We want to keep API developers up to date with the best OpenAPI tooling around, with the goal of upgrading to OpenAPI v3 as soon as possible. Tooling stuck on v2? You might need to send a pull request!

Contribute Main Website

Contribute

This project was created by Matthew Trask and Phil Sturgeon with contributions from the community. If you need help, hit Matt or Phil up on twitter.

Current OpenAPI Version

3.0.1 - Link to the specification

Converters

Name Language v2 v3 GitHub
Apimatic Transformer - Transform API Descriptions to formats to and from RAML, API Blueprint, OAI v2/v3, WSDL, etc. SaaS โœ… โœ…
API Flow - Convert from and to multiple formats. Linking to Phil's fork because the original is completely broken JavaScript โœ… ๐Ÿ‘ท
Google Gnostic - Compile OpenAPI descriptions into equivalent Protocol Buffer representations Go โŒ โœ…
swagger2openapi - Upgrade specs from OpenAPI v2.0 to v3.0, bundling into one mega file or respecting $refs Node.js โœ… โœ…
OData OpenAPI - OData 4.0 to OpenAPI 3.0.0 converter XSLT โœ… โœ…
OpenAPI Filter - Filter internal components from OpenAPI definitions Node.js โœ… โœ…
OData.OpenAPI - Convert an Edm (Entity Data Model) to OpenApi 3.0 .NET โŒ โœ…
pyswagger - Client & converter in Python, which is type-safe, dynamic, spec-compliant. Python โœ… ๐Ÿ‘ท
OpenAPI Generator - A template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI definition (community-driven fork of swagger-codegen) Java โœ… โœ…
go-swagger - Everything all in one. Parser, validator, generates spec from code, or code from spec! Go โœ… ๐Ÿ‘ท

Documentation

Name Language v2 v3 GitHub
Kong Enterprise Edition - Highly customizable developer portal with developer onboarding, integrated with the Kong API Gateway Lua โœ… โœ…
openapi-viewer - Browse and test a REST API described with the OpenAPI 3.0 Specification Vue.js โŒ โœ…
openapi-ui - React based OpenAPI 3.0+ documentation generator React.js โŒ โœ…
Spectacle - Spectacle generates beautiful static HTML5 documentation from OpenAPI/Swagger 2.0 API specifications Node.js โœ… โŒ
ReDoc - OpenAPI/Swagger-generated API Reference Documentation React.js โœ… ๐Ÿ‘ท
widdershins - Generate Slate/Shins markdown from OpenAPI 2.0/3.0.x Node.js โœ… โœ…

Editors

Name Language v2 v3 GitHub
KaiZen-OpenAPI-Editor - Full-featured Eclipse editor for OpenAPI 2.0 and 3.0, also available on Eclipse Marketplace. Java โœ… โœ…
Atom/linter-swagger - This plugin for Atom Linter will lint Swagger 2.0 specifications, both JSON and YAML using swagger-parser node package. JavaScript โœ… โŒ
Swagger Editor Node.js โœ… โœ…
RepreZen API Studio - RepreZen API Studio is an integrated workbench that brings API-first design into focus for your whole team, harmonizes your API designs, and generates APIs that click into client apps. Java โœ… โœ…
Apicurio Studio - A standalone API design studio that can be used to create new or edit existing API designs. TypeScript โœ… โœ…
Rรกpido - An API design tool that facilitates the sketching phase of design. Node.js โŒ โœ…

Mock Servers

Name Language v2 v3 GitHub
Prism - Turn any OAI file into an API server with mocking, transformations, validations, and more. cli โœ… โŒ
Sandbox - SaaS, self-hosted, or CLI tool for turning OpenAPI (and other) definitions into a mock server, where you can modify behaviour, simulate downtime, and any other nonsnese you can think of thanks to a built-in code editor! SaaS / Java โœ… ๐Ÿ‘ท
Microcks - Mocking and testing platform for API and microservices. Turn your OAI contract examples into ready to use mocks. Use examples to test and validate implementations according schema elements. Self-hosted / SaaS โœ… โœ…

Server implementations

Name Language v2 v3 GitHub
Vert.x Web Api Contract - Create API endpoints with Vert.x 3 and OpenAPI 3 with automatic requests validation Java, Kotlin, JavaScript, Groovy, Ruby, Ceylon & Scala โŒ โœ…

Miscellaneous

Name Language v2 v3 GitHub
openapi-diff - Utility for comparing two OpenAPI specifications. Java โŒ โœ…
$ oas (CLI) - Generate OAS files from code comments and easily host them ($ npm install oas -g) JavaScript โœ… โœ…

Parsers / Validators

Name Language v2 v3 GitHub
speccy - Lint to enforce quality rules on your OpenAPI specifications CLI โŒ โœ…
swagger-parser - Swagger 1.0, 1.1, 1.2, 2.0 to OpenAPI Specification parser Java โœ… โŒ
BigstickCarpet/swagger-cli - A handy cli tool for validating JSON or YAML files schema files that respects $ref Node.js / CLI โœ… โŒ
KaiZen OpenAPI Parser - High-performance Parser, Validator, and Java Object Model for OpenAPI 3.x Java โŒ โœ…
OpenAPI-TS - TS Model & utils for OpenAPI 3.0.x contracts TypeScript โŒ โœ…
kin-openapi - A Go library for handling OpenAPI 3.0 specifications Go โŒ โœ…
OpenAPI3-Rust - Rust serialization library for OpenAPI v3 Rust โŒ โœ…
psx-api - Parse and generate API specification formats PHP โœ… โœ…
openapi-spec-validator - OpenAPI aSpec validator Python โŒ โœ…
Microsoft/OpenAPI.NET - C# based parser with definition validation and migration support from V2 .NET โœ… โœ…

SDK Generators

Name Language v2 v3 GitHub
OpenAPI Generator - A template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI definition (community-driven fork of swagger-codegen) Java โœ… โœ…
janephp/open-api - Generate a PHP Client API (PSR7 compatible) given a OpenAPI (Swagger) specification. PHP โœ… โŒ
go-swagger - Everything all in one. Parser, validator, generates spec from code, or code from spec! Go โœ… ๐Ÿ‘ท