Tooling

Found an error? Have a suggestion?Edit this page on Github

This page contains a list of AsyncAPI tooling. Would you like to add your tool to this list? Let us know!

Please, before you decide to create a new tool, consider contributing to the existing ones. Thanks!

Code-first tools

The following is a list of tools that generate AsyncAPI documents from your code.

LinkDescriptionLanguage/Framework
Go AsyncAPIIt uses reflection to translate Go structures in JSON Schema definitions and arrange them in AsyncAPI schema. Thanks to @vearutop.Go
SaunterLike Swashbuckle for AsyncAPI. Generates (and hosts) an AsyncAPI schema document from your code. Thanks to @tehmantra.C#/dotnet
Java AsyncAPIThis is a code-first tool for AsyncAPI specificationJava, Kotlin
SpringwolfLike Springfox for AsyncAPI. Auto-generates an AsyncAPI document and a web UI.Java, Spring Boot
KnstEventBuAsyncApi code-first tools for c#. Generate document and view.C#

Code Generators

The following is a list of tools that generate code from an AsyncAPI document, and not the other way around.

LinkDescriptionLanguage/Framework
AsyncAPI GeneratorUse your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, Java code, HTML documentation, anything! Click here to get a list of the existing templates.Node.js/Hermes, Java/Spring, Markdown, HTML, and more.

The language you're looking for is not here? You have created a new code generator and want to list it here? Let us know!

Converters

The following is a list of tools that do not yet belong to any specific category but are also useful for the community.

LinkDescriptionLanguage/Framework
ConverterConverts old versions of AsyncAPI files into the latest version.Javascript
Converter GoConverts old versions of AsyncAPI files into the latest version. Thanks to @Kyma team.Go

Documentation Generators

The following is a list of tools that generate human-readable documentation from an AsyncAPI document.

LinkDescriptionLanguage/Kind
AsyncAPI GeneratorUse your AsyncAPI definition to generate literally anything. Markdown documentation, Node.js code, HTML documentation, anything! Click here to get a list of the existing templates.CLI / Javascript
AsyncAPI ReactReact component for rendering documentation from your specification in real-time in the browser. Thanks to @Kyma team.Javascript
BumpOpenApi 2 & 3 / AsyncAPI 2 documentation generator, with automatic changelog and visual diff.SaaS
WiddershinsOpenApi 3.0 / Swagger 2.0 / AsyncAPI 1.0 definition to Slate / Shins compatible markdown. Thanks to @PermittedSoc.CLI / Javascript

DSL

Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write AsyncAPI in your language of choice.

LinkDescriptionLanguage/Kind
BOATSCompile your single AsyncAPI file from multiple components and with the help of the template engine Nunjucks plus a few extra helpers. Once compiled BOATS calls in AsyncAPI Parser to validate.JS

GitHub Actions

The following is a list of GitHub Actions that you can use in your workflows:

LinkDescription
AsyncAPI Github ActionThis action validates if the AsyncAPI schema file is valid or not.
Generator for AsyncAPI documentsThis action generates whatever you want using your AsyncAPI document. It uses AsyncAPI Generator.
API documentation on BumpWith this Github Action you can automatically generate your API reference (with changelog and diff) on Bump from any AsyncAPI file.

Mocking and Testing

Tools that take specification documents as input, then publish fake messages to broker destinations for simulation purpose. May also check that publisher messages are compliant with schemas.

LinkDescriptionLanguage/Kind
MicrocksMocking and testing platform for API and microservices. Turn your AsyncAPI, OpenAPI contract examples or Postman collections into ready to use mocks. Use examples to simulate and validate received messages according schema elements.Kubernetes-native, Self-hosted / SaaS, Open Source

Validators

The following is a list of tools that validate AsyncAPI documents.

LinkDescriptionLanguage/Framework
AsyncAPI ParserIt parses and validates AsyncAPI documents.Javascript
Check-APIIt allows you to validate a local file or remote URL with a single command-line or programmatic invocation. It returns an exitCode of 0 on success and 1 on failure, making it suitable for use in Continuous Integration environments. Thanks to @PermittedSoc.Javascript
asyncapi-validatorIt allows you to validate schema of your messages against your AsyncAPI schema definition. You can use it with Kafka, RabbitMQ or any other messaging/queue. Thanks to @waleedashraf.Javascript
AsyncAPI ParserIt parses and validates AsyncAPI documents.Go
SpectralA command line linter for AsyncAPI & OpenAPI documents.Javascript