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.
| Link | Description | Language/Framework |
|---|---|---|
| Go AsyncAPI | It uses reflection to translate Go structures in JSON Schema definitions and arrange them in AsyncAPI schema. Thanks to @vearutop. | Go |
| Saunter | Like Swashbuckle for AsyncAPI. Generates (and hosts) an AsyncAPI schema document from your code. Thanks to @tehmantra. | C#/dotnet |
| Java AsyncAPI | This is a code-first tool for AsyncAPI specification | Java, Kotlin |
| Springwolf | Like Springfox for AsyncAPI. Auto-generates an AsyncAPI document and a web UI. | Java, Spring Boot |
| KnstEventBus | AsyncApi code-first tools for c#. Generate document and view. | C# |
| sttp tapir | Library for describing HTTP endpoints, and then interpreting them as a server, client, or documentation | Scala |
| EventBridge Atlas | Tool that translates your AWS EventBridge Schemas into an AsyncAPI document and a web UI | Node |
Code Generators
The following is a list of tools that generate code from an AsyncAPI document and not the other way around.
| Link | Description | Language/Framework |
|---|---|---|
| AsyncAPI Generator | Use 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.
| Link | Description | Language/Framework |
|---|---|---|
| Converter | Converts old versions of AsyncAPI files into the latest version. | Javascript |
| Converter Go | Converts old versions of AsyncAPI files into the latest version. Thanks to @Kyma team. | Go |
Directories
The following is a list of directories that index public AsyncAPI documents.
| Link | Description | Language/Framework |
|---|---|---|
| AsyncAPI-Directory by APIs.guru | Directory of asynchronous API specifications in AsyncAPI format. Thanks to @PermittedSoc. | N/A |
| API Tracker - AsyncAPI specs | Explore APIs and companies with public AsyncAPI specifications. | N/A |
Documentation Generators
The following is a list of tools that generate human-readable documentation from an AsyncAPI document.
| Link | Description | Language/Kind |
|---|---|---|
| AsyncAPI Generator | Use 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 React | React component for rendering documentation from your specification in real-time in the browser. Thanks to @Kyma team. | Javascript |
| Bump | OpenApi 2 & 3 / AsyncAPI 2 documentation generator, with automatic changelog and visual diff. | SaaS |
| Widdershins | OpenApi 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.
| Link | Description | Language/Kind |
|---|---|---|
| BOATS | Compile 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 |
Frameworks
The following is a list of API/application frameworks that make use of AsyncAPI.
| Link | Description | Language/Kind |
|---|---|---|
| Asynction | SocketIO server framework driven by the AsyncAPI specification. Asynction guarantees that your API will work in accordance with its AsyncAPI documentation. Built on top of Flask-SocketIO. | Python |
GitHub Actions
The following is a list of GitHub Actions that you can use in your workflows:
| Link | Description |
|---|---|
| AsyncAPI Github Action | This action validates if the AsyncAPI schema file is valid or not. |
| Generator for AsyncAPI documents | This action generates whatever you want using your AsyncAPI document. It uses AsyncAPI Generator. |
| API documentation on Bump | With this Github Action you can automatically generate your API reference (with the 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 purposes. May also check that publisher messages are compliant with schemas.
| Link | Description | Language/Kind |
|---|---|---|
| Microcks | Mocking 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 to schema elements. | Kubernetes-native, Self-hosted / SaaS, Open Source |
Validators
The following is a list of tools that validate AsyncAPI documents.
| Link | Description | Language/Framework |
|---|---|---|
| AsyncAPI Parser | It parses and validates AsyncAPI documents. | Javascript |
| Check-API | It 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-validator | It allows you to validate the 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 Parser | It parses and validates AsyncAPI documents. | Go |
| Spectral | A command-line linter for AsyncAPI & OpenAPI documents. | Javascript |
| AMF | Unified RAML / OAS / AsyncAPI parser and validator, including linting | ScalaJS / JVM and JS support |