# OpenAPITools/openapi-generator

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/openapitools-openapi-generator).**

25,843 stars · 7,395 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/OpenAPITools/openapi-generator
- Homepage: https://openapi-generator.tech
- awesome-repositories: https://awesome-repositories.com/repository/openapitools-openapi-generator.md

## Topics

`api` `api-client` `api-server` `generator` `hacktoberfest` `openapi` `openapi-generator` `openapi3` `rest` `rest-api` `rest-client` `restful-api` `sdk`

## Description

This project is a command-line tool and template-based scaffolding engine that transforms API interface specifications into functional client libraries and server stubs. By automating the creation of type-safe SDKs and boilerplate code, it bridges the gap between service definitions and implementation, allowing developers to maintain synchronized codebases across many programming languages.

The tool distinguishes itself through a portable execution model that utilizes containerized build isolation to ensure identical output regardless of the host environment. It features a modular, plugin-based architecture that allows for the registration of custom logic, alongside a schema-to-model mapping engine that enables precise control over how abstract API data types are translated into native language structures.

The platform supports a wide range of integration workflows, including the ability to trigger code generation directly within standard build lifecycles or through a remote HTTP-based service. Users can further tailor the output through declarative configuration overrides, custom template injection, and specific type mapping rules to align generated code with internal project standards and naming conventions.

The software is distributed as a command-line utility and can be executed via container images or integrated into build pipelines using standard package managers.

## Tags

### Development Tools & Productivity

- [Code Generators](https://awesome-repositories.com/f/development-tools-productivity/code-generators.md) — A command-line tool that transforms interface specification files into functional client libraries and server stubs across many programming languages.
- [Template Engines](https://awesome-repositories.com/f/development-tools-productivity/template-engines.md) — Transforms structured API definitions into source code by injecting data into language-specific templates during the build process.
- [API Code Generators](https://awesome-repositories.com/f/development-tools-productivity/api-code-generators.md) — Generates boilerplate server-side code and data models from API definitions to ensure consistent implementation.
- [Build Isolation Tools](https://awesome-repositories.com/f/development-tools-productivity/build-isolation-tools.md) — Executes generation tasks within isolated environments to ensure consistent output regardless of the host operating system.
- [Containerized Build Toolchains](https://awesome-repositories.com/f/development-tools-productivity/containerized-build-toolchains.md) — Creates source code using containerized toolchains to avoid installing local language runtimes or managing complex version dependencies. ([source](https://cdn.jsdelivr.net/gh/OpenAPITools/openapi-generator@master/README.md))
- [Build Lifecycle Automators](https://awesome-repositories.com/f/development-tools-productivity/build-lifecycle-automators.md) — Defines input specifications, target languages, and output paths to trigger the automatic generation of source code during the standard project build lifecycle. ([source](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator-maven-plugin/README.md))
- [Integration Tooling](https://awesome-repositories.com/f/development-tools-productivity/integration-tooling.md) — A development utility that bridges the gap between service interface definitions and implementation code to accelerate the software development lifecycle.
- [Development Environment Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/development-environment-orchestrators.md) — Standardizes build environments using containerized toolchains to eliminate dependency conflicts and configuration drift.
- [Scaffolding Engines](https://awesome-repositories.com/f/development-tools-productivity/scaffolding-engines.md) — Tailors generated source code through configuration and custom templates to match specific project coding standards.

### Web Development

- [API Client SDK Generators](https://awesome-repositories.com/f/web-development/api-client-sdk-generators.md) — Automates the creation of type-safe client SDKs from API specifications to simplify integration with external services and reduce manual boilerplate.
- [Client Library Generators](https://awesome-repositories.com/f/web-development/client-library-generators.md) — Creates client code from interface specifications by running command-line tools to simplify integration with external services. ([source](https://openapi-generator.tech/docs/installation))
- [Unified Server Library Generators](https://awesome-repositories.com/f/web-development/unified-server-library-generators.md) — Creates server and client libraries from interface definitions to ensure both components implement the same logic and share consistent data structures. ([source](https://openapi-generator.tech/docs/generators/rust-server/))
- [Generation Services](https://awesome-repositories.com/f/web-development/generation-services.md) — Exposes the code generation engine as a remote web service to facilitate integration with automated continuous integration pipelines.

### Data & Databases

- [Schema Mapping Engines](https://awesome-repositories.com/f/data-databases/schema-mapping-engines.md) — Translates abstract API data types into native language structures by applying configurable type overrides and custom import rules.
- [Type Mapping Utilities](https://awesome-repositories.com/f/data-databases/type-mapping-utilities.md) — Overrides default language type mappings and defines custom imports to ensure generated code correctly aligns with specific project-level data structures. ([source](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator-maven-plugin/README.md))

### DevOps & Infrastructure

- [Containerized Build Environments](https://awesome-repositories.com/f/devops-infrastructure/containerized-build-environments.md) — A portable execution model that isolates language runtimes and dependency chains to ensure identical output generation across different host machines.
- [Containerized Development Environments](https://awesome-repositories.com/f/devops-infrastructure/containerized-development-environments.md) — Executes development tasks inside isolated containers that map local source code to ensure identical results regardless of the underlying host operating system. ([source](https://cdn.jsdelivr.net/gh/OpenAPITools/openapi-generator@master/README.md))
- [Remote Build Services](https://awesome-repositories.com/f/devops-infrastructure/remote-build-services.md) — Deploys web services within containers to process code generation requests over network protocols, simplifying integration with remote build pipelines. ([source](https://cdn.jsdelivr.net/gh/OpenAPITools/openapi-generator@master/README.md))

### Software Engineering & Architecture

- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/plugin-architectures.md) — Allows developers to register custom logic and language-specific generators by dynamically loading classes through a modular configuration system.
- [Generator Configuration Tools](https://awesome-repositories.com/f/software-engineering-architecture/generator-configuration-tools.md) — Sets specific configuration properties to control how code is created, such as filtering which models to include or overriding global settings. ([source](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator-maven-plugin/README.md))
- [API-Driven Development Workflows](https://awesome-repositories.com/f/software-engineering-architecture/api-driven-development-workflows.md) — Integrates automated code generation into the software development lifecycle to keep client and server implementations synchronized with evolving API contracts.
- [Configuration Overrides](https://awesome-repositories.com/f/software-engineering-architecture/configuration-overrides.md) — Controls the behavior of the generation process by applying key-value properties that modify output structure and naming conventions.
