OpenAPI Tooling
Specs, references, codegen, and validation for HTTP APIs.
Spec authoring
- OpenAPI 3.1 — the current spec; JSON Schema 2020-12 compatible.
- JSON Schema — typically generated from your code (Zod, Valibot, ArkType, Effect Schema all have OpenAPI/JSON Schema converters).
- TypeSpec (Microsoft) — TS-flavored language that compiles to OpenAPI / JSON Schema / Protobuf.
- Stoplight Studio — visual OpenAPI editor; free.
- Swagger Editor — original; bundled into many CLIs.
Reference / docs renderers
- ★ Scalar — modern, beautiful, fast; embeds in any framework or runs standalone. The default for new projects in 2026.
- Stoplight Elements — open source web component for OpenAPI; mature.
- Redoc — open source; clean design; long-running classic.
- Swagger UI — the original; functional, dated styling.
- Mintlify — paid hosted docs with OpenAPI integration.
- Bump.sh — hosted API docs with diffs and changelog.
TS client codegen (spec → typed client)
- ★ Hey API (
@hey-api/openapi-ts) — modern OpenAPI → TS client; the default for new projects. - ★
openapi-typescript— generates.d.tsonly; pair withopenapi-fetchfor a typed wrapper. - OpenAPI Generator — the universal "generate client/server in 50 languages" tool.
- swagger-typescript-api — older but still used.
- Orval — generates Axios / Fetch / TanStack Query / SWR / Zod from OpenAPI.
oazapfts— small, ergonomic TS client gen.
Server-side: schema-first frameworks
- ★ Hono OpenAPI + Zod —
@hono/zod-openapiexposes typed routes with auto-generated OpenAPI. - tRPC's OpenAPI plugin — for hybrid tRPC + REST.
- oRPC — RPC + OpenAPI from one definition; see Backend.
- NestJS —
@nestjs/swaggerdecorators. - Fastify —
@fastify/swaggerfrom JSON Schema. - Elysia — built-in OpenAPI from typed routes.
Validation / testing from spec
- Schemathesis — property-based testing from OpenAPI; finds bugs your hand-written tests miss.
- Dredd — verify implementation matches docs.
- Spectral (Stoplight) — lint OpenAPI specs (style, naming, security rules).
- Optic — compare actual API traffic to your spec.
Mocking from spec
- Prism (Stoplight) — mock server from any OpenAPI spec.
- Mockoon — desktop GUI for mocks; OpenAPI import.
- MSW — uses your handler code; can also load OpenAPI fixtures.
Pick this if…
- Default API reference UI: Scalar.
- TS client from a third-party API: Hey API or
openapi-typescript+openapi-fetch. - Schema-first new API in TS: Hono +
@hono/zod-openapi, or NestJS, or Elysia. - Lint / govern your OpenAPI: Spectral.
- Test API matches spec: Schemathesis.
- Mock a third-party API: Prism or MSW.