ricosuter/nswag

The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 28 minutes ago
Added to GitGenius on September 8th, 2026
Created on September 2nd, 2015
Open Issues & Pull Requests: 2,055 (+0)
GitHub issues: Enabled
Number of forks: 1,359
Total Stargazers: 7,364 (+0)
Total Subscribers: 158 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.3 days
Mean response time: 113.1 days
90th percentile: 361.0 days
Tracked items: 944

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "type: breaking change" is answered fastest, typically in about 19 hours, while "type: bug" waits about 7 days. 85% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 1% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 1,413
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,626 days
Stale 30+ days: 1,406
Stale 90+ days: 1,381

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • type: bug (1,023)
  • type: enhancement (205)
  • type: question (155)
  • type: breaking change (41)
  • type: easy fix (20)
  • project: wiki (15)
  • help wanted (11)
  • state: done (10)

Detailed Description

NSwag is a Swagger/OpenAPI toolchain for .NET, ASP.NET Core, and TypeScript that generates API specifications and client code.

NSwag solves the problem of keeping API documentation and client libraries in sync by automating the generation of OpenAPI specifications from ASP.NET controllers and then generating strongly-typed client code from those specifications. The tool combines the functionality of Swashbuckle for specification generation and AutoRest for client generation into a single integrated toolchain, eliminating the need for both libraries separately. It uses NJsonSchema for JSON Schema handling and supports features like inheritance, enums, and reference handling that may not be well-represented in the OpenAPI specification alone.

Teams building .NET backends with TypeScript frontends should consider NSwag if they want to eliminate manual synchronization between server and client APIs. The tool suits projects using ASP.NET or ASP.NET Core controllers and supports generating clients for multiple TypeScript frameworks including Angular, Aurelia, jQuery, and KnockoutJS. It can be integrated into development workflows through multiple entry points: a Windows GUI called NSwagStudio, ASP.NET Core middleware that serves specifications alongside Swagger UI or ReDoc, command-line tools available via NuGet or NPM, direct C# code invocation, or MSBuild targets. The README does not compare NSwag to other tools in its category.

The project maintains active development with regular updates and improvements. The codebase shows ongoing refinement of core functionality and expansion of integration options. Community contributions are accepted alongside the primary maintainer's work. The tool is distributed through multiple channels including NuGet packages, NPM, and as a standalone Windows application, indicating sustained investment in accessibility across different development environments.